home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / develop™ Technical Journal / develop Issue 6 code / TCP.sea / TCP / NewsWatcher / NW Source / Shared Code / Reusable Source / windutil.c < prev    next >
MacBinary  |  1995-04-21  |  15.0 KB  |  [TEXT/MMCC]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Apr 21 12:23:11 1995, modified Fri Apr 21 12:23:11 1995, creator 'MMCC', type ASCII, 14617 bytes "windutil.c" , at 0x3999 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MMCC]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 77 69 6e 64 75 74 | 69 6c 2e 63 00 00 00 00 |..windut|il.c....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 4d 43 | 43 01 00 00 00 00 00 00 |.TEXTMMC|C.......|
|00000050| 00 00 00 00 00 39 19 00 | 00 01 9a ab bd 8c 6f ab |.....9..|......o.|
|00000060| bd 8c 6f 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..o.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 18 d1 00 00 |........|........|
|00000080| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00000090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0d |--------|------..|
|000000d0| 09 77 69 6e 64 75 74 69 | 6c 2e 63 0d 0d 09 54 68 |.winduti|l.c...Th|
|000000e0| 69 73 20 72 65 75 73 61 | 62 6c 65 20 6d 6f 64 75 |is reusa|ble modu|
|000000f0| 6c 65 20 63 6f 6e 74 61 | 69 6e 73 20 6d 69 73 63 |le conta|ins misc|
|00000100| 65 6c 6c 61 6e 65 6f 75 | 73 20 77 69 6e 64 6f 77 |ellaneou|s window|
|00000110| 20 6d 61 6e 61 67 65 6d | 65 6e 74 20 0d 09 75 74 | managem|ent ..ut|
|00000120| 69 6c 69 74 79 20 72 6f | 75 74 69 6e 65 73 2e 0d |ility ro|utines..|
|00000130| 09 0d 09 43 6f 70 79 72 | 69 67 68 74 20 a9 20 31 |...Copyr|ight . 1|
|00000140| 39 39 34 2d 31 39 39 35 | 2c 20 4e 6f 72 74 68 77 |994-1995|, Northw|
|00000150| 65 73 74 65 72 6e 20 55 | 6e 69 76 65 72 73 69 74 |estern U|niversit|
|00000160| 79 2e 0d 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |y...----|--------|
|00000170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001b0| 2a 2f 0d 0d 23 69 6e 63 | 6c 75 64 65 20 22 64 65 |*/..#inc|lude "de|
|000001c0| 66 2e 68 22 0d 23 69 6e | 63 6c 75 64 65 20 22 77 |f.h".#in|clude "w|
|000001d0| 69 6e 64 75 74 69 6c 2e | 68 22 0d 23 69 6e 63 6c |indutil.|h".#incl|
|000001e0| 75 64 65 20 22 64 72 61 | 77 75 74 69 6c 2e 68 22 |ude "dra|wutil.h"|
|000001f0| 0d 23 69 6e 63 6c 75 64 | 65 20 22 6d 65 6d 75 74 |.#includ|e "memut|
|00000200| 69 6c 2e 68 22 0d 0d 0d | 0d 74 79 70 65 64 65 66 |il.h"...|.typedef|
|00000210| 20 73 74 72 75 63 74 20 | 54 57 69 6e 64 6f 77 52 | struct |TWindowR|
|00000220| 65 63 6f 72 64 53 74 6f | 72 61 67 65 20 7b 0d 09 |ecordSto|rage {..|
|00000230| 43 57 69 6e 64 6f 77 52 | 65 63 6f 72 64 20 73 74 |CWindowR|ecord st|
|00000240| 6f 72 61 67 65 3b 09 09 | 09 09 09 2f 2a 20 77 69 |orage;..|.../* wi|
|00000250| 6e 64 6f 77 20 72 65 63 | 6f 72 64 20 73 74 6f 72 |ndow rec|ord stor|
|00000260| 61 67 65 20 2a 2f 0d 09 | 42 6f 6f 6c 65 61 6e 20 |age */..|Boolean |
|00000270| 66 72 6f 6d 46 72 65 65 | 4c 69 73 74 3b 09 09 09 |fromFree|List;...|
|00000280| 09 09 2f 2a 20 74 72 75 | 65 20 69 66 20 73 74 6f |../* tru|e if sto|
|00000290| 72 61 67 65 20 6f 62 74 | 61 69 6e 65 64 20 66 72 |rage obt|ained fr|
|000002a0| 6f 6d 20 66 72 65 65 20 | 6c 69 73 74 20 2a 2f 0d |om free |list */.|
|000002b0| 09 73 74 72 75 63 74 20 | 54 57 69 6e 64 6f 77 52 |.struct |TWindowR|
|000002c0| 65 63 6f 72 64 53 74 6f | 72 61 67 65 20 2a 6e 65 |ecordSto|rage *ne|
|000002d0| 78 74 3b 09 09 2f 2a 20 | 70 6f 69 6e 74 65 72 20 |xt;../* |pointer |
|000002e0| 74 6f 20 6e 65 78 74 20 | 61 76 61 69 6c 61 62 6c |to next |availabl|
|000002f0| 65 20 66 72 65 65 20 62 | 75 66 66 65 72 20 2a 2f |e free b|uffer */|
|00000300| 0d 7d 20 54 57 69 6e 64 | 6f 77 52 65 63 6f 72 64 |.} TWind|owRecord|
|00000310| 53 74 6f 72 61 67 65 3b | 0d 0d 0d 0d 73 74 61 74 |Storage;|....stat|
|00000320| 69 63 20 54 57 69 6e 64 | 6f 77 52 65 63 6f 72 64 |ic TWind|owRecord|
|00000330| 53 74 6f 72 61 67 65 20 | 2a 66 72 65 65 57 69 6e |Storage |*freeWin|
|00000340| 64 6f 77 52 65 63 6f 72 | 64 53 74 6f 72 61 67 65 |dowRecor|dStorage|
|00000350| 20 3d 20 6e 69 6c 3b 09 | 2f 2a 20 70 6f 69 6e 74 | = nil;.|/* point|
|00000360| 65 72 20 74 6f 20 66 69 | 72 73 74 20 66 72 65 65 |er to fi|rst free|
|00000370| 20 62 75 66 66 65 72 20 | 2a 2f 0d 0d 0d 0d 2f 2a | buffer |*/..../*|
|00000380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 09 4d 79 |--------|----..My|
|000003d0| 46 72 6f 6e 74 57 69 6e | 64 6f 77 20 0d 09 0d 09 |FrontWin|dow ....|
|000003e0| 47 65 74 20 74 68 65 20 | 66 72 6f 6e 74 6d 6f 73 |Get the |frontmos|
|000003f0| 74 20 77 69 6e 64 6f 77 | 20 77 68 69 63 68 20 62 |t window| which b|
|00000400| 65 6c 6f 6e 67 73 20 74 | 6f 20 74 68 65 20 61 70 |elongs t|o the ap|
|00000410| 70 6c 69 63 61 74 69 6f | 6e 2e 0d 09 0d 09 45 78 |plicatio|n.....Ex|
|00000420| 69 74 3a 09 66 75 6e 63 | 74 69 6f 6e 20 72 65 73 |it:.func|tion res|
|00000430| 75 6c 74 20 3d 20 70 6f | 69 6e 74 65 72 20 74 6f |ult = po|inter to|
|00000440| 20 77 69 6e 64 6f 77 20 | 72 65 63 6f 72 64 2c 20 | window |record, |
|00000450| 6f 72 20 6e 69 6c 20 69 | 66 20 6e 6f 6e 65 2e 0d |or nil i|f none..|
|00000460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 0d |--------|----*/..|
|000004b0| 57 69 6e 64 6f 77 50 74 | 72 20 4d 79 46 72 6f 6e |WindowPt|r MyFron|
|000004c0| 74 57 69 6e 64 6f 77 20 | 28 76 6f 69 64 29 0d 7b |tWindow |(void).{|
|000004d0| 0d 09 57 69 6e 64 6f 77 | 50 65 65 6b 20 77 69 6e |..Window|Peek win|
|000004e0| 64 50 65 65 6b 3b 0d 09 | 0d 09 77 69 6e 64 50 65 |dPeek;..|..windPe|
|000004f0| 65 6b 20 3d 20 28 57 69 | 6e 64 6f 77 50 65 65 6b |ek = (Wi|ndowPeek|
|00000500| 29 46 72 6f 6e 74 57 69 | 6e 64 6f 77 28 29 3b 0d |)FrontWi|ndow();.|
|00000510| 09 77 68 69 6c 65 20 28 | 77 69 6e 64 50 65 65 6b |.while (|windPeek|
|00000520| 20 21 3d 20 6e 69 6c 20 | 26 26 20 77 69 6e 64 50 | != nil |&& windP|
|00000530| 65 65 6b 2d 3e 77 69 6e | 64 6f 77 4b 69 6e 64 20 |eek->win|dowKind |
|00000540| 3c 20 30 29 20 0d 09 09 | 77 69 6e 64 50 65 65 6b |< 0) ...|windPeek|
|00000550| 20 3d 20 77 69 6e 64 50 | 65 65 6b 2d 3e 6e 65 78 | = windP|eek->nex|
|00000560| 74 57 69 6e 64 6f 77 3b | 0d 09 72 65 74 75 72 6e |tWindow;|..return|
|00000570| 20 28 57 69 6e 64 6f 77 | 50 74 72 29 77 69 6e 64 | (Window|Ptr)wind|
|00000580| 50 65 65 6b 3b 0d 7d 0d | 0d 0d 0d 2f 2a 2d 2d 2d |Peek;.}.|.../*---|
|00000590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 09 49 6e 69 74 69 |--------|-..Initi|
|000005e0| 61 6c 69 7a 65 57 69 6e | 64 6f 77 52 65 63 6f 72 |alizeWin|dowRecor|
|000005f0| 64 53 74 6f 72 61 67 65 | 0d 09 0d 09 50 72 65 61 |dStorage|....Prea|
|00000600| 6c 6c 6f 63 61 74 65 20 | 77 69 6e 64 6f 77 20 72 |llocate |window r|
|00000610| 65 63 6f 72 64 20 73 74 | 6f 72 61 67 65 20 62 75 |ecord st|orage bu|
|00000620| 66 66 65 72 73 20 69 6e | 20 68 69 67 68 20 6d 65 |ffers in| high me|
|00000630| 6d 6f 72 79 2e 0d 09 0d | 09 45 6e 74 72 79 3a 09 |mory....|.Entry:.|
|00000640| 6d 61 78 57 69 6e 64 6f | 77 73 20 3d 20 6e 75 6d |maxWindo|ws = num|
|00000650| 62 65 72 20 6f 66 20 62 | 75 66 66 65 72 73 20 74 |ber of b|uffers t|
|00000660| 6f 20 61 6c 6c 6f 63 61 | 74 65 2e 0d 09 0d 09 45 |o alloca|te.....E|
|00000670| 78 69 74 3a 09 66 75 6e | 63 74 69 6f 6e 20 72 65 |xit:.fun|ction re|
|00000680| 73 75 6c 74 20 3d 20 65 | 72 72 6f 72 20 63 6f 64 |sult = e|rror cod|
|00000690| 65 2e 0d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |e..-----|--------|
|000006a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|000006e0| 2f 0d 0d 4f 53 45 72 72 | 20 49 6e 69 74 69 61 6c |/..OSErr| Initial|
|000006f0| 69 7a 65 57 69 6e 64 6f | 77 52 65 63 6f 72 64 53 |izeWindo|wRecordS|
|00000700| 74 6f 72 61 67 65 20 28 | 73 68 6f 72 74 20 6d 61 |torage (|short ma|
|00000710| 78 57 69 6e 64 6f 77 73 | 29 0d 7b 0d 09 73 68 6f |xWindows|).{..sho|
|00000720| 72 74 20 69 3b 0d 09 48 | 61 6e 64 6c 65 20 68 3b |rt i;..H|andle h;|
|00000730| 0d 09 54 57 69 6e 64 6f | 77 52 65 63 6f 72 64 53 |..TWindo|wRecordS|
|00000740| 74 6f 72 61 67 65 20 2a | 2a 73 74 6f 72 61 67 65 |torage *|*storage|
|00000750| 3b 0d 09 4f 53 45 72 72 | 20 65 72 72 20 3d 20 6e |;..OSErr| err = n|
|00000760| 6f 45 72 72 3b 0d 09 0d | 09 66 6f 72 20 28 69 20 |oErr;...|.for (i |
|00000770| 3d 20 30 3b 20 69 20 3c | 20 6d 61 78 57 69 6e 64 |= 0; i <| maxWind|
|00000780| 6f 77 73 3b 20 69 2b 2b | 29 20 7b 0d 09 09 65 72 |ows; i++|) {...er|
|00000790| 72 20 3d 20 4d 79 4e 65 | 77 48 61 6e 64 6c 65 28 |r = MyNe|wHandle(|
|000007a0| 73 69 7a 65 6f 66 28 54 | 57 69 6e 64 6f 77 52 65 |sizeof(T|WindowRe|
|000007b0| 63 6f 72 64 53 74 6f 72 | 61 67 65 29 2c 20 26 68 |cordStor|age), &h|
|000007c0| 29 3b 0d 09 09 69 66 20 | 28 65 72 72 20 21 3d 20 |);...if |(err != |
|000007d0| 6e 6f 45 72 72 29 20 72 | 65 74 75 72 6e 20 65 72 |noErr) r|eturn er|
|000007e0| 72 3b 0d 09 09 4d 79 48 | 4c 6f 63 6b 48 69 28 68 |r;...MyH|LockHi(h|
|000007f0| 29 3b 0d 09 09 73 74 6f | 72 61 67 65 20 3d 20 28 |);...sto|rage = (|
|00000800| 54 57 69 6e 64 6f 77 52 | 65 63 6f 72 64 53 74 6f |TWindowR|ecordSto|
|00000810| 72 61 67 65 2a 2a 29 68 | 3b 0d 09 09 28 2a 2a 73 |rage**)h|;...(**s|
|00000820| 74 6f 72 61 67 65 29 2e | 6e 65 78 74 20 3d 20 66 |torage).|next = f|
|00000830| 72 65 65 57 69 6e 64 6f | 77 52 65 63 6f 72 64 53 |reeWindo|wRecordS|
|00000840| 74 6f 72 61 67 65 3b 0d | 09 09 28 2a 2a 73 74 6f |torage;.|..(**sto|
|00000850| 72 61 67 65 29 2e 66 72 | 6f 6d 46 72 65 65 4c 69 |rage).fr|omFreeLi|
|00000860| 73 74 20 3d 20 74 72 75 | 65 3b 0d 09 09 66 72 65 |st = tru|e;...fre|
|00000870| 65 57 69 6e 64 6f 77 52 | 65 63 6f 72 64 53 74 6f |eWindowR|ecordSto|
|00000880| 72 61 67 65 20 3d 20 2a | 73 74 6f 72 61 67 65 3b |rage = *|storage;|
|00000890| 0d 09 7d 0d 09 72 65 74 | 75 72 6e 20 6e 6f 45 72 |..}..ret|urn noEr|
|000008a0| 72 3b 0d 7d 0d 0d 0d 0d | 2f 2a 2d 2d 2d 2d 2d 2d |r;.}....|/*------|
|000008b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008f0| 2d 2d 2d 2d 2d 2d 0d 09 | 4d 79 4e 65 77 57 69 6e |------..|MyNewWin|
|00000900| 64 6f 77 0d 09 0d 09 43 | 72 65 61 74 65 20 61 20 |dow....C|reate a |
|00000910| 6e 65 77 20 77 69 6e 64 | 6f 77 2e 20 54 68 65 20 |new wind|ow. The |
|00000920| 77 69 6e 64 6f 77 20 69 | 73 20 61 20 63 6f 6c 6f |window i|s a colo|
|00000930| 72 20 77 69 6e 64 6f 77 | 20 69 66 20 77 65 20 68 |r window| if we h|
|00000940| 61 76 65 20 63 6f 6c 6f | 72 20 51 44 2c 0d 09 6f |ave colo|r QD,..o|
|00000950| 74 68 65 72 77 69 73 65 | 20 69 74 27 73 20 61 20 |therwise| it's a |
|00000960| 62 6c 61 63 6b 20 61 6e | 64 20 77 68 69 74 65 20 |black an|d white |
|00000970| 77 69 6e 64 6f 77 2e 0d | 09 0d 09 45 6e 74 72 79 |window..|...Entry|
|00000980| 3a 09 72 42 6f 75 6e 64 | 73 20 3d 20 62 6f 75 6e |:.rBound|s = boun|
|00000990| 64 69 6e 67 20 72 65 63 | 74 61 6e 67 6c 65 20 69 |ding rec|tangle i|
|000009a0| 6e 20 67 6c 6f 62 61 6c | 20 63 6f 6f 72 64 69 6e |n global| coordin|
|000009b0| 61 74 65 73 2e 0d 09 09 | 09 74 69 74 6c 65 20 3d |ates....|.title =|
|000009c0| 20 50 61 73 63 61 6c 20 | 66 6f 72 6d 61 74 20 77 | Pascal |format w|
|000009d0| 69 6e 64 6f 77 20 74 69 | 74 6c 65 20 73 74 72 69 |indow ti|tle stri|
|000009e0| 6e 67 2e 0d 09 09 09 76 | 69 73 46 6c 61 67 20 3d |ng.....v|isFlag =|
|000009f0| 20 74 72 75 65 20 74 6f | 20 64 72 61 77 20 77 69 | true to| draw wi|
|00000a00| 6e 64 6f 77 2c 20 66 61 | 6c 73 65 20 74 6f 20 6e |ndow, fa|lse to n|
|00000a10| 6f 74 20 64 72 61 77 20 | 77 69 6e 64 6f 77 2e 0d |ot draw |window..|
|00000a20| 09 09 09 77 44 65 66 50 | 72 6f 63 49 44 20 3d 20 |...wDefP|rocID = |
|00000a30| 77 69 6e 64 6f 77 20 64 | 65 66 69 6e 69 74 69 6f |window d|efinitio|
|00000a40| 6e 20 49 44 2e 0d 09 09 | 09 62 65 68 69 6e 64 20 |n ID....|.behind |
|00000a50| 3d 20 2d 31 20 69 66 20 | 69 6e 20 66 72 6f 6e 74 |= -1 if |in front|
|00000a60| 2c 20 6e 69 6c 20 69 66 | 20 69 6e 20 62 61 63 6b |, nil if| in back|
|00000a70| 2c 20 65 6c 73 65 20 70 | 6f 69 6e 74 65 72 20 74 |, else p|ointer t|
|00000a80| 6f 20 77 69 6e 64 6f 77 | 0d 09 09 09 09 62 65 68 |o window|.....beh|
|00000a90| 69 6e 64 20 77 68 69 63 | 68 20 74 68 69 73 20 6f |ind whic|h this o|
|00000aa0| 6e 65 20 77 69 6c 6c 20 | 62 65 20 70 6c 61 63 65 |ne will |be place|
|00000ab0| 64 2e 0d 09 09 09 67 6f | 41 77 61 79 46 6c 61 67 |d.....go|AwayFlag|
|00000ac0| 20 3d 20 74 72 75 65 20 | 69 66 20 77 69 6e 64 6f | = true |if windo|
|00000ad0| 77 20 68 61 73 20 63 6c | 6f 73 65 20 62 6f 78 2e |w has cl|ose box.|
|00000ae0| 0d 09 09 09 72 65 66 43 | 6f 6e 20 3d 20 61 70 70 |....refC|on = app|
|00000af0| 6c 69 63 61 74 69 6f 6e | 2d 64 65 66 69 6e 65 64 |lication|-defined|
|00000b00| 20 72 65 66 65 72 65 6e | 63 65 2e 0d 09 0d 09 45 | referen|ce.....E|
|00000b10| 78 69 74 3a 09 66 75 6e | 63 74 69 6f 6e 20 72 65 |xit:.fun|ction re|
|00000b20| 73 75 6c 74 20 3d 20 65 | 72 72 6f 72 20 63 6f 64 |sult = e|rror cod|
|00000b30| 65 2e 0d 09 09 09 2a 77 | 69 6e 64 20 3d 20 70 6f |e.....*w|ind = po|
|00000b40| 69 6e 74 65 72 20 74 6f | 20 6e 65 77 20 77 69 6e |inter to| new win|
|00000b50| 64 6f 77 2e 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |dow..---|--------|
|00000b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ba0| 2d 2a 2f 0d 0d 4f 53 45 | 72 72 20 4d 79 4e 65 77 |-*/..OSE|rr MyNew|
|00000bb0| 57 69 6e 64 6f 77 20 28 | 52 65 63 74 20 2a 72 42 |Window (|Rect *rB|
|00000bc0| 6f 75 6e 64 73 2c 20 53 | 74 72 32 35 35 20 74 69 |ounds, S|tr255 ti|
|00000bd0| 74 6c 65 2c 20 42 6f 6f | 6c 65 61 6e 20 76 69 73 |tle, Boo|lean vis|
|00000be0| 46 6c 61 67 2c 20 73 68 | 6f 72 74 20 77 44 65 66 |Flag, sh|ort wDef|
|00000bf0| 50 72 6f 63 49 44 2c 0d | 09 57 69 6e 64 6f 77 50 |ProcID,.|.WindowP|
|00000c00| 74 72 20 62 65 68 69 6e | 64 2c 20 42 6f 6f 6c 65 |tr behin|d, Boole|
|00000c10| 61 6e 20 67 6f 41 77 61 | 79 46 6c 61 67 2c 20 6c |an goAwa|yFlag, l|
|00000c20| 6f 6e 67 20 72 65 66 43 | 6f 6e 2c 20 57 69 6e 64 |ong refC|on, Wind|
|00000c30| 6f 77 50 74 72 20 2a 77 | 69 6e 64 29 0d 7b 0d 09 |owPtr *w|ind).{..|
|00000c40| 54 57 69 6e 64 6f 77 52 | 65 63 6f 72 64 53 74 6f |TWindowR|ecordSto|
|00000c50| 72 61 67 65 20 2a 73 74 | 6f 72 61 67 65 3b 0d 09 |rage *st|orage;..|
|00000c60| 4f 53 45 72 72 20 65 72 | 72 20 3d 20 6e 6f 45 72 |OSErr er|r = noEr|
|00000c70| 72 3b 0d 09 09 0d 09 73 | 74 6f 72 61 67 65 20 3d |r;.....s|torage =|
|00000c80| 20 66 72 65 65 57 69 6e | 64 6f 77 52 65 63 6f 72 | freeWin|dowRecor|
|00000c90| 64 53 74 6f 72 61 67 65 | 3b 0d 09 69 66 20 28 73 |dStorage|;..if (s|
|00000ca0| 74 6f 72 61 67 65 20 3d | 3d 20 6e 69 6c 29 20 7b |torage =|= nil) {|
|00000cb0| 0d 09 09 65 72 72 20 3d | 20 4d 79 4e 65 77 50 74 |...err =| MyNewPt|
|00000cc0| 72 28 73 69 7a 65 6f 66 | 28 54 57 69 6e 64 6f 77 |r(sizeof|(TWindow|
|00000cd0| 52 65 63 6f 72 64 53 74 | 6f 72 61 67 65 29 2c 20 |RecordSt|orage), |
|00000ce0| 26 73 74 6f 72 61 67 65 | 29 3b 0d 09 09 69 66 20 |&storage|);...if |
|00000cf0| 28 65 72 72 20 21 3d 20 | 6e 6f 45 72 72 29 20 72 |(err != |noErr) r|
|00000d00| 65 74 75 72 6e 20 65 72 | 72 3b 0d 09 09 73 74 6f |eturn er|r;...sto|
|00000d10| 72 61 67 65 2d 3e 66 72 | 6f 6d 46 72 65 65 4c 69 |rage->fr|omFreeLi|
|00000d20| 73 74 20 3d 20 66 61 6c | 73 65 3b 0d 09 7d 20 65 |st = fal|se;..} e|
|00000d30| 6c 73 65 20 7b 0d 09 09 | 66 72 65 65 57 69 6e 64 |lse {...|freeWind|
|00000d40| 6f 77 52 65 63 6f 72 64 | 53 74 6f 72 61 67 65 20 |owRecord|Storage |
|00000d50| 3d 20 73 74 6f 72 61 67 | 65 2d 3e 6e 65 78 74 3b |= storag|e->next;|
|00000d60| 0d 09 7d 0d 09 69 66 20 | 28 48 61 73 43 6f 6c 6f |..}..if |(HasColo|
|00000d70| 72 51 44 28 29 29 20 7b | 0d 09 09 2a 77 69 6e 64 |rQD()) {|...*wind|
|00000d80| 20 3d 20 4e 65 77 43 57 | 69 6e 64 6f 77 28 28 43 | = NewCW|indow((C|
|00000d90| 57 69 6e 64 6f 77 52 65 | 63 6f 72 64 2a 29 73 74 |WindowRe|cord*)st|
|00000da0| 6f 72 61 67 65 2c 20 72 | 42 6f 75 6e 64 73 2c 20 |orage, r|Bounds, |
|00000db0| 74 69 74 6c 65 2c 20 76 | 69 73 46 6c 61 67 2c 0d |title, v|isFlag,.|
|00000dc0| 09 09 09 77 44 65 66 50 | 72 6f 63 49 44 2c 20 62 |...wDefP|rocID, b|
|00000dd0| 65 68 69 6e 64 2c 20 67 | 6f 41 77 61 79 46 6c 61 |ehind, g|oAwayFla|
|00000de0| 67 2c 20 72 65 66 43 6f | 6e 29 3b 0d 09 7d 20 65 |g, refCo|n);..} e|
|00000df0| 6c 73 65 20 7b 0d 09 09 | 2a 77 69 6e 64 20 3d 20 |lse {...|*wind = |
|00000e00| 4e 65 77 57 69 6e 64 6f | 77 28 28 43 57 69 6e 64 |NewWindo|w((CWind|
|00000e10| 6f 77 52 65 63 6f 72 64 | 2a 29 73 74 6f 72 61 67 |owRecord|*)storag|
|00000e20| 65 2c 20 72 42 6f 75 6e | 64 73 2c 20 74 69 74 6c |e, rBoun|ds, titl|
|00000e30| 65 2c 20 76 69 73 46 6c | 61 67 2c 0d 09 09 09 77 |e, visFl|ag,....w|
|00000e40| 44 65 66 50 72 6f 63 49 | 44 2c 20 62 65 68 69 6e |DefProcI|D, behin|
|00000e50| 64 2c 20 67 6f 41 77 61 | 79 46 6c 61 67 2c 20 72 |d, goAwa|yFlag, r|
|00000e60| 65 66 43 6f 6e 29 3b 0d | 09 7d 0d 09 0d 09 72 65 |efCon);.|.}....re|
|00000e70| 74 75 72 6e 20 6e 6f 45 | 72 72 3b 0d 7d 0d 0d 0d |turn noE|rr;.}...|
|00000e80| 0d 2f 2a 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |./*-----|--------|
|00000e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00000ed0| 09 4d 79 44 69 73 70 6f | 73 65 57 69 6e 64 6f 77 |.MyDispo|seWindow|
|00000ee0| 0d 09 0d 09 44 69 73 70 | 6f 73 65 20 61 20 77 69 |....Disp|ose a wi|
|00000ef0| 6e 64 6f 77 2e 0d 09 0d | 09 45 6e 74 72 79 3a 09 |ndow....|.Entry:.|
|00000f00| 77 69 6e 64 20 3d 20 70 | 6f 69 6e 74 65 72 20 74 |wind = p|ointer t|
|00000f10| 6f 20 77 69 6e 64 6f 77 | 2e 0d 2d 2d 2d 2d 2d 2d |o window|..------|
|00000f20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f60| 2d 2d 2d 2d 2d 2d 2a 2f | 0d 0d 76 6f 69 64 20 4d |------*/|..void M|
|00000f70| 79 44 69 73 70 6f 73 65 | 57 69 6e 64 6f 77 20 28 |yDispose|Window (|
|00000f80| 57 69 6e 64 6f 77 50 74 | 72 20 77 69 6e 64 29 0d |WindowPt|r wind).|
|00000f90| 7b 0d 09 54 57 69 6e 64 | 6f 77 52 65 63 6f 72 64 |{..TWind|owRecord|
|00000fa0| 53 74 6f 72 61 67 65 20 | 2a 73 74 6f 72 61 67 65 |Storage |*storage|
|00000fb0| 3b 0d 09 0d 09 69 66 20 | 28 77 69 6e 64 20 3d 3d |;....if |(wind ==|
|00000fc0| 20 6e 69 6c 29 20 72 65 | 74 75 72 6e 3b 0d 09 73 | nil) re|turn;..s|
|00000fd0| 74 6f 72 61 67 65 20 3d | 20 28 54 57 69 6e 64 6f |torage =| (TWindo|
|00000fe0| 77 52 65 63 6f 72 64 53 | 74 6f 72 61 67 65 2a 29 |wRecordS|torage*)|
|00000ff0| 77 69 6e 64 3b 0d 09 43 | 6c 6f 73 65 57 69 6e 64 |wind;..C|loseWind|
|00001000| 6f 77 28 77 69 6e 64 29 | 3b 0d 09 69 66 20 28 73 |ow(wind)|;..if (s|
|00001010| 74 6f 72 61 67 65 2d 3e | 66 72 6f 6d 46 72 65 65 |torage->|fromFree|
|00001020| 4c 69 73 74 29 20 7b 0d | 09 09 73 74 6f 72 61 67 |List) {.|..storag|
|00001030| 65 2d 3e 6e 65 78 74 20 | 3d 20 66 72 65 65 57 69 |e->next |= freeWi|
|00001040| 6e 64 6f 77 52 65 63 6f | 72 64 53 74 6f 72 61 67 |ndowReco|rdStorag|
|00001050| 65 3b 0d 09 09 66 72 65 | 65 57 69 6e 64 6f 77 52 |e;...fre|eWindowR|
|00001060| 65 63 6f 72 64 53 74 6f | 72 61 67 65 20 3d 20 73 |ecordSto|rage = s|
|00001070| 74 6f 72 61 67 65 3b 0d | 09 7d 20 65 6c 73 65 20 |torage;.|.} else |
|00001080| 7b 0d 09 09 4d 79 44 69 | 73 70 6f 73 65 50 74 72 |{...MyDi|sposePtr|
|00001090| 28 73 74 6f 72 61 67 65 | 29 3b 0d 09 7d 0d 7d 0d |(storage|);..}.}.|
|000010a0| 0d 0d 0d 2f 2a 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.../*---|--------|
|000010b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010f0| 2d 0d 09 49 73 44 41 57 | 69 6e 64 6f 77 20 0d 09 |-..IsDAW|indow ..|
|00001100| 0d 09 43 68 65 63 6b 20 | 74 6f 20 73 65 65 20 69 |..Check |to see i|
|00001110| 66 20 61 20 77 69 6e 64 | 6f 77 20 62 65 6c 6f 6e |f a wind|ow belon|
|00001120| 67 73 20 74 6f 20 61 20 | 64 65 73 6b 20 61 63 63 |gs to a |desk acc|
|00001130| 65 73 73 6f 72 79 2e 0d | 09 09 09 0d 09 45 6e 74 |essory..|.....Ent|
|00001140| 72 79 3a 09 77 69 6e 64 | 20 3d 20 70 6f 69 6e 74 |ry:.wind| = point|
|00001150| 65 72 20 74 6f 20 77 69 | 6e 64 6f 77 2e 0d 09 0d |er to wi|ndow....|
|00001160| 09 45 78 69 74 3a 09 66 | 75 6e 63 74 69 6f 6e 20 |.Exit:.f|unction |
|00001170| 72 65 73 75 6c 74 20 3d | 20 74 72 75 65 20 69 66 |result =| true if|
|00001180| 20 77 69 6e 64 6f 77 20 | 62 65 6c 6f 6e 67 73 20 | window |belongs |
|00001190| 74 6f 20 61 20 44 41 2e | 0d 2d 2d 2d 2d 2d 2d 2d |to a DA.|.-------|
|000011a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011e0| 2d 2d 2d 2d 2d 2a 2f 0d | 0d 42 6f 6f 6c 65 61 6e |-----*/.|.Boolean|
|000011f0| 20 49 73 44 41 57 69 6e | 64 6f 77 20 28 57 69 6e | IsDAWin|dow (Win|
|00001200| 64 6f 77 50 74 72 20 77 | 69 6e 64 29 0d 7b 0d 09 |dowPtr w|ind).{..|
|00001210| 69 66 20 28 77 69 6e 64 | 20 3d 3d 20 6e 69 6c 29 |if (wind| == nil)|
|00001220| 20 7b 0d 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 | {...ret|urn fals|
|00001230| 65 3b 0d 09 7d 20 65 6c | 73 65 20 7b 0d 09 09 72 |e;..} el|se {...r|
|00001240| 65 74 75 72 6e 20 28 28 | 57 69 6e 64 6f 77 50 65 |eturn ((|WindowPe|
|00001250| 65 6b 29 77 69 6e 64 29 | 2d 3e 77 69 6e 64 6f 77 |ek)wind)|->window|
|00001260| 4b 69 6e 64 20 3c 20 30 | 3b 0d 09 7d 0d 7d 0d 0d |Kind < 0|;..}.}..|
|00001270| 0d 0d 2f 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*----|--------|
|00001280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012c0| 0d 09 47 65 74 57 69 6e | 64 52 65 67 69 6f 6e 52 |..GetWin|dRegionR|
|000012d0| 65 63 74 73 0d 09 0d 09 | 52 65 74 75 72 6e 20 74 |ects....|Return t|
|000012e0| 68 65 20 62 6f 75 6e 64 | 69 6e 67 20 72 65 63 74 |he bound|ing rect|
|000012f0| 73 20 6f 66 20 61 20 77 | 69 6e 64 6f 77 27 73 20 |s of a w|indow's |
|00001300| 63 6f 6e 74 65 6e 74 20 | 61 6e 64 20 73 74 72 75 |content |and stru|
|00001310| 63 74 75 72 65 20 72 65 | 67 69 6f 6e 73 2e 0d 09 |cture re|gions...|
|00001320| 0d 09 45 6e 74 72 79 3a | 09 77 69 6e 64 20 3d 20 |..Entry:|.wind = |
|00001330| 70 6f 69 6e 74 65 72 20 | 74 6f 20 77 69 6e 64 6f |pointer |to windo|
|00001340| 77 2e 0d 09 0d 09 45 78 | 69 74 3a 09 63 6f 6e 74 |w.....Ex|it:.cont|
|00001350| 52 65 63 74 20 3d 20 63 | 6f 6e 74 65 6e 74 20 72 |Rect = c|ontent r|
|00001360| 65 67 69 6f 6e 20 62 6f | 75 6e 64 69 6e 67 20 72 |egion bo|unding r|
|00001370| 65 63 74 2e 0d 09 09 09 | 73 74 72 75 63 52 65 63 |ect.....|strucRec|
|00001380| 74 20 3d 20 73 74 72 75 | 63 74 75 72 65 20 72 65 |t = stru|cture re|
|00001390| 67 69 6f 6e 20 62 6f 75 | 6e 64 69 6e 67 20 72 65 |gion bou|nding re|
|000013a0| 63 74 2e 0d 09 09 09 09 | 0d 09 41 64 61 70 74 65 |ct......|..Adapte|
|000013b0| 64 20 66 72 6f 6d 20 44 | 65 61 6e 20 59 75 27 73 |d from D|ean Yu's|
|000013c0| 20 63 6f 64 65 20 69 6e | 20 44 65 76 65 6c 6f 70 | code in| Develop|
|000013d0| 20 23 31 37 2e 0d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | #17..--|--------|
|000013e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001420| 2d 2d 2a 2f 0d 0d 76 6f | 69 64 20 47 65 74 57 69 |--*/..vo|id GetWi|
|00001430| 6e 64 52 65 67 69 6f 6e | 52 65 63 74 73 20 28 57 |ndRegion|Rects (W|
|00001440| 69 6e 64 6f 77 50 74 72 | 20 77 69 6e 64 2c 20 52 |indowPtr| wind, R|
|00001450| 65 63 74 20 2a 63 6f 6e | 74 52 65 63 74 2c 20 52 |ect *con|tRect, R|
|00001460| 65 63 74 20 2a 73 74 72 | 75 63 52 65 63 74 29 0d |ect *str|ucRect).|
|00001470| 7b 0d 09 47 72 61 66 50 | 74 72 20 70 6f 72 74 3b |{..GrafP|tr port;|
|00001480| 0d 09 52 67 6e 48 61 6e | 64 6c 65 20 63 6f 6e 74 |..RgnHan|dle cont|
|00001490| 52 67 6e 2c 20 73 74 72 | 75 63 52 67 6e 3b 0d 09 |Rgn, str|ucRgn;..|
|000014a0| 52 65 63 74 20 70 6f 72 | 74 52 65 63 74 2c 20 75 |Rect por|tRect, u|
|000014b0| 73 65 72 53 74 61 74 65 | 2c 20 73 74 64 53 74 61 |serState|, stdSta|
|000014c0| 74 65 3b 0d 09 57 53 74 | 61 74 65 44 61 74 61 20 |te;..WSt|ateData |
|000014d0| 2a 2a 77 53 74 61 74 65 | 3b 0d 09 0d 09 47 65 74 |**wState|;....Get|
|000014e0| 50 6f 72 74 28 26 70 6f | 72 74 29 3b 0d 09 53 65 |Port(&po|rt);..Se|
|000014f0| 74 50 6f 72 74 28 77 69 | 6e 64 29 3b 0d 09 77 53 |tPort(wi|nd);..wS|
|00001500| 74 61 74 65 20 3d 20 28 | 57 53 74 61 74 65 44 61 |tate = (|WStateDa|
|00001510| 74 61 2a 2a 29 28 28 57 | 69 6e 64 6f 77 50 65 65 |ta**)((W|indowPee|
|00001520| 6b 29 77 69 6e 64 29 2d | 3e 64 61 74 61 48 61 6e |k)wind)-|>dataHan|
|00001530| 64 6c 65 3b 0d 09 75 73 | 65 72 53 74 61 74 65 20 |dle;..us|erState |
|00001540| 3d 20 28 2a 2a 77 53 74 | 61 74 65 29 2e 75 73 65 |= (**wSt|ate).use|
|00001550| 72 53 74 61 74 65 3b 0d | 09 73 74 64 53 74 61 74 |rState;.|.stdStat|
|00001560| 65 20 3d 20 28 2a 2a 77 | 53 74 61 74 65 29 2e 73 |e = (**w|State).s|
|00001570| 74 64 53 74 61 74 65 3b | 0d 09 69 66 20 28 28 28 |tdState;|..if (((|
|00001580| 57 69 6e 64 6f 77 50 65 | 65 6b 29 77 69 6e 64 29 |WindowPe|ek)wind)|
|00001590| 2d 3e 76 69 73 69 62 6c | 65 29 20 7b 0d 09 09 63 |->visibl|e) {...c|
|000015a0| 6f 6e 74 52 67 6e 20 3d | 20 28 28 57 69 6e 64 6f |ontRgn =| ((Windo|
|000015b0| 77 50 65 65 6b 29 77 69 | 6e 64 29 2d 3e 63 6f 6e |wPeek)wi|nd)->con|
|000015c0| 74 52 67 6e 3b 0d 09 09 | 73 74 72 75 63 52 67 6e |tRgn;...|strucRgn|
|000015d0| 20 3d 20 28 28 57 69 6e | 64 6f 77 50 65 65 6b 29 | = ((Win|dowPeek)|
|000015e0| 77 69 6e 64 29 2d 3e 73 | 74 72 75 63 52 67 6e 3b |wind)->s|trucRgn;|
|000015f0| 0d 09 09 2a 63 6f 6e 74 | 52 65 63 74 20 3d 20 28 |...*cont|Rect = (|
|00001600| 2a 2a 63 6f 6e 74 52 67 | 6e 29 2e 72 67 6e 42 42 |**contRg|n).rgnBB|
|00001610| 6f 78 3b 0d 09 09 2a 73 | 74 72 75 63 52 65 63 74 |ox;...*s|trucRect|
|00001620| 20 3d 20 28 2a 2a 73 74 | 72 75 63 52 67 6e 29 2e | = (**st|rucRgn).|
|00001630| 72 67 6e 42 42 6f 78 3b | 0d 09 7d 20 65 6c 73 65 |rgnBBox;|..} else|
|00001640| 20 7b 0d 09 09 70 6f 72 | 74 52 65 63 74 20 3d 20 | {...por|tRect = |
|00001650| 77 69 6e 64 2d 3e 70 6f | 72 74 52 65 63 74 3b 0d |wind->po|rtRect;.|
|00001660| 09 09 4c 6f 63 61 6c 54 | 6f 47 6c 6f 62 61 6c 52 |..LocalT|oGlobalR|
|00001670| 65 63 74 28 26 70 6f 72 | 74 52 65 63 74 29 3b 0d |ect(&por|tRect);.|
|00001680| 09 09 4d 6f 76 65 57 69 | 6e 64 6f 77 28 77 69 6e |..MoveWi|ndow(win|
|00001690| 64 2c 20 2d 30 78 34 30 | 30 30 2c 20 2d 30 78 34 |d, -0x40|00, -0x4|
|000016a0| 30 30 30 2c 20 66 61 6c | 73 65 29 3b 0d 09 09 53 |000, fal|se);...S|
|000016b0| 68 6f 77 48 69 64 65 28 | 77 69 6e 64 2c 20 74 72 |howHide(|wind, tr|
|000016c0| 75 65 29 3b 0d 09 09 63 | 6f 6e 74 52 67 6e 20 3d |ue);...c|ontRgn =|
|000016d0| 20 28 28 57 69 6e 64 6f | 77 50 65 65 6b 29 77 69 | ((Windo|wPeek)wi|
|000016e0| 6e 64 29 2d 3e 63 6f 6e | 74 52 67 6e 3b 0d 09 09 |nd)->con|tRgn;...|
|000016f0| 73 74 72 75 63 52 67 6e | 20 3d 20 28 28 57 69 6e |strucRgn| = ((Win|
|00001700| 64 6f 77 50 65 65 6b 29 | 77 69 6e 64 29 2d 3e 73 |dowPeek)|wind)->s|
|00001710| 74 72 75 63 52 67 6e 3b | 0d 09 09 2a 63 6f 6e 74 |trucRgn;|...*cont|
|00001720| 52 65 63 74 20 3d 20 28 | 2a 2a 63 6f 6e 74 52 67 |Rect = (|**contRg|
|00001730| 6e 29 2e 72 67 6e 42 42 | 6f 78 3b 0d 09 09 2a 73 |n).rgnBB|ox;...*s|
|00001740| 74 72 75 63 52 65 63 74 | 20 3d 20 28 2a 2a 73 74 |trucRect| = (**st|
|00001750| 72 75 63 52 67 6e 29 2e | 72 67 6e 42 42 6f 78 3b |rucRgn).|rgnBBox;|
|00001760| 0d 09 09 4f 66 66 73 65 | 74 52 65 63 74 28 63 6f |...Offse|tRect(co|
|00001770| 6e 74 52 65 63 74 2c 20 | 70 6f 72 74 52 65 63 74 |ntRect, |portRect|
|00001780| 2e 6c 65 66 74 20 2b 20 | 30 78 34 30 30 30 2c 20 |.left + |0x4000, |
|00001790| 70 6f 72 74 52 65 63 74 | 2e 74 6f 70 20 2b 20 30 |portRect|.top + 0|
|000017a0| 78 34 30 30 30 29 3b 0d | 09 09 4f 66 66 73 65 74 |x4000);.|..Offset|
|000017b0| 52 65 63 74 28 73 74 72 | 75 63 52 65 63 74 2c 20 |Rect(str|ucRect, |
|000017c0| 70 6f 72 74 52 65 63 74 | 2e 6c 65 66 74 20 2b 20 |portRect|.left + |
|000017d0| 30 78 34 30 30 30 2c 20 | 70 6f 72 74 52 65 63 74 |0x4000, |portRect|
|000017e0| 2e 74 6f 70 20 2b 20 30 | 78 34 30 30 30 29 3b 0d |.top + 0|x4000);.|
|000017f0| 09 09 53 68 6f 77 48 69 | 64 65 28 77 69 6e 64 2c |..ShowHi|de(wind,|
|00001800| 20 66 61 6c 73 65 29 3b | 0d 09 09 4d 6f 76 65 57 | false);|...MoveW|
|00001810| 69 6e 64 6f 77 28 77 69 | 6e 64 2c 20 70 6f 72 74 |indow(wi|nd, port|
|00001820| 52 65 63 74 2e 6c 65 66 | 74 2c 20 70 6f 72 74 52 |Rect.lef|t, portR|
|00001830| 65 63 74 2e 74 6f 70 2c | 20 66 61 6c 73 65 29 3b |ect.top,| false);|
|00001840| 0d 09 7d 0d 09 28 2a 2a | 77 53 74 61 74 65 29 2e |..}..(**|wState).|
|00001850| 75 73 65 72 53 74 61 74 | 65 20 3d 20 75 73 65 72 |userStat|e = user|
|00001860| 53 74 61 74 65 3b 0d 09 | 28 2a 2a 77 53 74 61 74 |State;..|(**wStat|
|00001870| 65 29 2e 73 74 64 53 74 | 61 74 65 20 3d 20 73 74 |e).stdSt|ate = st|
|00001880| 64 53 74 61 74 65 3b 0d | 09 53 65 74 50 6f 72 74 |dState;.|.SetPort|
|00001890| 28 70 6f 72 74 29 3b 0d | 7d 0d 0d 0d 0d 2f 2a 2d |(port);.|}..../*-|
|000018a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 09 47 65 74 |--------|---..Get|
|000018f0| 44 6f 6d 69 6e 61 6e 74 | 53 63 72 65 65 6e 0d 09 |Dominant|Screen..|
|00001900| 0d 09 52 65 74 75 72 6e | 20 74 68 65 20 73 63 72 |..Return| the scr|
|00001910| 65 65 6e 20 77 69 74 68 | 20 74 68 65 20 6d 61 78 |een with| the max|
|00001920| 69 6d 75 6d 20 69 6e 74 | 65 72 73 65 63 74 69 6f |imum int|ersectio|
|00001930| 6e 20 77 69 74 68 20 61 | 20 77 69 6e 64 6f 77 2e |n with a| window.|
|00001940| 0d 09 0d 09 45 6e 74 72 | 79 3a 09 77 69 6e 64 20 |....Entr|y:.wind |
|00001950| 3d 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 77 69 6e |= pointe|r to win|
|00001960| 64 6f 77 2e 0d 09 0d 09 | 45 78 69 74 3a 09 73 63 |dow.....|Exit:.sc|
|00001970| 72 65 65 6e 52 65 63 74 | 20 3d 20 64 6f 6d 69 6e |reenRect| = domin|
|00001980| 61 6e 74 20 73 63 72 65 | 65 6e 27 73 20 72 65 63 |ant scre|en's rec|
|00001990| 74 61 6e 67 6c 65 2e 0d | 09 09 09 6d 61 69 6e 53 |tangle..|...mainS|
|000019a0| 63 72 65 65 6e 20 3d 20 | 74 72 75 65 20 69 66 20 |creen = |true if |
|000019b0| 6d 61 69 6e 20 73 63 72 | 65 65 6e 20 28 77 69 74 |main scr|een (wit|
|000019c0| 68 20 6d 65 6e 75 20 62 | 61 72 29 2e 0d 09 09 09 |h menu b|ar).....|
|000019d0| 6f 6e 4f 6e 65 53 63 72 | 65 65 6e 20 3d 20 74 72 |onOneScr|een = tr|
|000019e0| 75 65 20 69 66 20 77 69 | 6e 64 6f 77 20 63 6f 6d |ue if wi|ndow com|
|000019f0| 70 6c 65 74 65 6c 79 20 | 63 6f 6e 74 61 69 6e 65 |pletely |containe|
|00001a00| 64 20 6f 6e 20 6f 6e 65 | 20 73 63 72 65 65 6e 2e |d on one| screen.|
|00001a10| 0d 09 09 09 09 0d 09 41 | 64 61 70 74 65 64 20 66 |.......A|dapted f|
|00001a20| 72 6f 6d 20 44 65 61 6e | 20 59 75 27 73 20 63 6f |rom Dean| Yu's co|
|00001a30| 64 65 20 69 6e 20 44 65 | 76 65 6c 6f 70 20 23 31 |de in De|velop #1|
|00001a40| 37 2e 0d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |7..-----|--------|
|00001a50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|00001a90| 2f 0d 0d 74 79 70 65 64 | 65 66 20 73 74 72 75 63 |/..typed|ef struc|
|00001aa0| 74 20 54 47 65 74 44 6f | 6d 69 6e 61 6e 74 53 63 |t TGetDo|minantSc|
|00001ab0| 72 65 65 6e 55 73 65 72 | 44 61 74 61 20 7b 0d 09 |reenUser|Data {..|
|00001ac0| 47 44 48 61 6e 64 6c 65 | 20 6d 61 69 6e 44 65 76 |GDHandle| mainDev|
|00001ad0| 69 63 65 3b 0d 09 47 44 | 48 61 6e 64 6c 65 20 6d |ice;..GD|Handle m|
|00001ae0| 61 78 44 65 76 69 63 65 | 3b 0d 09 6c 6f 6e 67 20 |axDevice|;..long |
|00001af0| 6d 61 78 41 72 65 61 3b | 0d 09 52 65 63 74 20 77 |maxArea;|..Rect w|
|00001b00| 69 6e 64 42 6f 75 6e 64 | 73 3b 0d 7d 20 54 47 65 |indBound|s;.} TGe|
|00001b10| 74 44 6f 6d 69 6e 61 6e | 74 53 63 72 65 65 6e 55 |tDominan|tScreenU|
|00001b20| 73 65 72 44 61 74 61 3b | 0d 0d 73 74 61 74 69 63 |serData;|..static|
|00001b30| 20 70 61 73 63 61 6c 20 | 76 6f 69 64 20 47 65 74 | pascal |void Get|
|00001b40| 44 6f 6d 69 6e 61 6e 74 | 53 63 72 65 65 6e 4f 6e |Dominant|ScreenOn|
|00001b50| 65 44 65 76 69 63 65 20 | 28 73 68 6f 72 74 20 64 |eDevice |(short d|
|00001b60| 65 70 74 68 2c 20 73 68 | 6f 72 74 20 64 65 76 69 |epth, sh|ort devi|
|00001b70| 63 65 46 6c 61 67 73 2c | 0d 09 47 44 48 61 6e 64 |ceFlags,|..GDHand|
|00001b80| 6c 65 20 74 61 72 67 65 | 74 44 65 76 69 63 65 2c |le targe|tDevice,|
|00001b90| 20 6c 6f 6e 67 20 75 73 | 65 72 44 61 74 61 29 0d | long us|erData).|
|00001ba0| 7b 0d 09 54 47 65 74 44 | 6f 6d 69 6e 61 6e 74 53 |{..TGetD|ominantS|
|00001bb0| 63 72 65 65 6e 55 73 65 | 72 44 61 74 61 20 2a 75 |creenUse|rData *u|
|00001bc0| 64 3b 0d 09 52 65 63 74 | 20 72 2c 20 64 65 76 69 |d;..Rect| r, devi|
|00001bd0| 63 65 52 65 63 74 3b 0d | 09 6c 6f 6e 67 20 61 72 |ceRect;.|.long ar|
|00001be0| 65 61 3b 0d 09 0d 09 75 | 64 20 3d 20 28 54 47 65 |ea;....u|d = (TGe|
|00001bf0| 74 44 6f 6d 69 6e 61 6e | 74 53 63 72 65 65 6e 55 |tDominan|tScreenU|
|00001c00| 73 65 72 44 61 74 61 2a | 29 75 73 65 72 44 61 74 |serData*|)userDat|
|00001c10| 61 3b 0d 09 64 65 76 69 | 63 65 52 65 63 74 20 3d |a;..devi|ceRect =|
|00001c20| 20 28 2a 2a 74 61 72 67 | 65 74 44 65 76 69 63 65 | (**targ|etDevice|
|00001c30| 29 2e 67 64 52 65 63 74 | 3b 0d 09 69 66 20 28 74 |).gdRect|;..if (t|
|00001c40| 61 72 67 65 74 44 65 76 | 69 63 65 20 3d 3d 20 75 |argetDev|ice == u|
|00001c50| 64 2d 3e 6d 61 69 6e 44 | 65 76 69 63 65 29 20 64 |d->mainD|evice) d|
|00001c60| 65 76 69 63 65 52 65 63 | 74 2e 74 6f 70 20 2b 3d |eviceRec|t.top +=|
|00001c70| 20 47 65 74 4d 42 61 72 | 48 65 69 67 68 74 28 29 | GetMBar|Height()|
|00001c80| 3b 0d 09 53 65 63 74 52 | 65 63 74 28 26 75 64 2d |;..SectR|ect(&ud-|
|00001c90| 3e 77 69 6e 64 42 6f 75 | 6e 64 73 2c 20 26 64 65 |>windBou|nds, &de|
|00001ca0| 76 69 63 65 52 65 63 74 | 2c 20 26 72 29 3b 0d 09 |viceRect|, &r);..|
|00001cb0| 4f 66 66 73 65 74 52 65 | 63 74 28 26 72 2c 20 2d |OffsetRe|ct(&r, -|
|00001cc0| 72 2e 6c 65 66 74 2c 20 | 2d 72 2e 74 6f 70 29 3b |r.left, |-r.top);|
|00001cd0| 0d 09 61 72 65 61 20 3d | 20 28 6c 6f 6e 67 29 72 |..area =| (long)r|
|00001ce0| 2e 72 69 67 68 74 20 2a | 20 28 6c 6f 6e 67 29 72 |.right *| (long)r|
|00001cf0| 2e 62 6f 74 74 6f 6d 3b | 0d 09 69 66 20 28 61 72 |.bottom;|..if (ar|
|00001d00| 65 61 20 3e 20 75 64 2d | 3e 6d 61 78 41 72 65 61 |ea > ud-|>maxArea|
|00001d10| 29 20 7b 0d 09 09 75 64 | 2d 3e 6d 61 78 41 72 65 |) {...ud|->maxAre|
|00001d20| 61 20 3d 20 61 72 65 61 | 3b 0d 09 09 75 64 2d 3e |a = area|;...ud->|
|00001d30| 6d 61 78 44 65 76 69 63 | 65 20 3d 20 74 61 72 67 |maxDevic|e = targ|
|00001d40| 65 74 44 65 76 69 63 65 | 3b 0d 09 7d 0d 7d 0d 0d |etDevice|;..}.}..|
|00001d50| 76 6f 69 64 20 47 65 74 | 44 6f 6d 69 6e 61 6e 74 |void Get|Dominant|
|00001d60| 53 63 72 65 65 6e 20 28 | 57 69 6e 64 6f 77 50 74 |Screen (|WindowPt|
|00001d70| 72 20 77 69 6e 64 2c 20 | 52 65 63 74 20 2a 73 63 |r wind, |Rect *sc|
|00001d80| 72 65 65 6e 52 65 63 74 | 2c 20 42 6f 6f 6c 65 61 |reenRect|, Boolea|
|00001d90| 6e 20 2a 6d 61 69 6e 53 | 63 72 65 65 6e 2c 0d 09 |n *mainS|creen,..|
|00001da0| 42 6f 6f 6c 65 61 6e 20 | 2a 6f 6e 4f 6e 65 53 63 |Boolean |*onOneSc|
|00001db0| 72 65 65 6e 29 0d 7b 0d | 09 47 72 61 66 50 74 72 |reen).{.|.GrafPtr|
|00001dc0| 20 70 6f 72 74 3b 0d 09 | 52 67 6e 48 61 6e 64 6c | port;..|RgnHandl|
|00001dd0| 65 20 72 67 6e 3b 0d 09 | 52 65 63 74 20 63 6f 6e |e rgn;..|Rect con|
|00001de0| 74 52 65 63 74 2c 20 73 | 74 72 75 63 52 65 63 74 |tRect, s|trucRect|
|00001df0| 2c 20 64 65 76 69 63 65 | 4c 6f 6f 70 52 65 63 74 |, device|LoopRect|
|00001e00| 3b 0d 09 54 47 65 74 44 | 6f 6d 69 6e 61 6e 74 53 |;..TGetD|ominantS|
|00001e10| 63 72 65 65 6e 55 73 65 | 72 44 61 74 61 20 75 64 |creenUse|rData ud|
|00001e20| 3b 0d 09 73 74 61 74 69 | 63 20 44 65 76 69 63 65 |;..stati|c Device|
|00001e30| 4c 6f 6f 70 44 72 61 77 | 69 6e 67 55 50 50 20 75 |LoopDraw|ingUPP u|
|00001e40| 70 70 20 3d 20 6e 69 6c | 3b 0d 09 0d 09 69 66 20 |pp = nil|;....if |
|00001e50| 28 75 70 70 20 3d 3d 20 | 6e 69 6c 29 20 75 70 70 |(upp == |nil) upp|
|00001e60| 20 3d 20 4e 65 77 44 65 | 76 69 63 65 4c 6f 6f 70 | = NewDe|viceLoop|
|00001e70| 44 72 61 77 69 6e 67 50 | 72 6f 63 28 47 65 74 44 |DrawingP|roc(GetD|
|00001e80| 6f 6d 69 6e 61 6e 74 53 | 63 72 65 65 6e 4f 6e 65 |ominantS|creenOne|
|00001e90| 44 65 76 69 63 65 29 3b | 0d 09 0d 09 69 66 20 28 |Device);|....if (|
|00001ea0| 77 69 6e 64 20 3d 3d 20 | 6e 69 6c 29 20 7b 0d 09 |wind == |nil) {..|
|00001eb0| 09 69 66 20 28 21 48 61 | 73 43 6f 6c 6f 72 51 44 |.if (!Ha|sColorQD|
|00001ec0| 28 29 29 20 7b 0d 09 09 | 09 2a 73 63 72 65 65 6e |()) {...|.*screen|
|00001ed0| 52 65 63 74 20 3d 20 71 | 64 2e 73 63 72 65 65 6e |Rect = q|d.screen|
|00001ee0| 42 69 74 73 2e 62 6f 75 | 6e 64 73 3b 0d 09 09 7d |Bits.bou|nds;...}|
|00001ef0| 20 65 6c 73 65 20 7b 0d | 09 09 09 75 64 2e 6d 61 | else {.|...ud.ma|
|00001f00| 69 6e 44 65 76 69 63 65 | 20 3d 20 47 65 74 4d 61 |inDevice| = GetMa|
|00001f10| 69 6e 44 65 76 69 63 65 | 28 29 3b 0d 09 09 09 2a |inDevice|();....*|
|00001f20| 73 63 72 65 65 6e 52 65 | 63 74 20 3d 20 28 2a 2a |screenRe|ct = (**|
|00001f30| 75 64 2e 6d 61 69 6e 44 | 65 76 69 63 65 29 2e 67 |ud.mainD|evice).g|
|00001f40| 64 52 65 63 74 3b 0d 09 | 09 7d 0d 09 09 2a 6d 61 |dRect;..|.}...*ma|
|00001f50| 69 6e 53 63 72 65 65 6e | 20 3d 20 74 72 75 65 3b |inScreen| = true;|
|00001f60| 0d 09 09 2a 6f 6e 4f 6e | 65 53 63 72 65 65 6e 20 |...*onOn|eScreen |
|00001f70| 3d 20 74 72 75 65 3b 0d | 09 09 72 65 74 75 72 6e |= true;.|..return|
|00001f80| 3b 0d 09 7d 0d 09 09 0d | 09 47 65 74 50 6f 72 74 |;..}....|.GetPort|
|00001f90| 28 26 70 6f 72 74 29 3b | 0d 09 53 65 74 50 6f 72 |(&port);|..SetPor|
|00001fa0| 74 28 77 69 6e 64 29 3b | 0d 09 47 65 74 57 69 6e |t(wind);|..GetWin|
|00001fb0| 64 52 65 67 69 6f 6e 52 | 65 63 74 73 28 77 69 6e |dRegionR|ects(win|
|00001fc0| 64 2c 20 26 63 6f 6e 74 | 52 65 63 74 2c 20 26 73 |d, &cont|Rect, &s|
|00001fd0| 74 72 75 63 52 65 63 74 | 29 3b 0d 09 69 66 20 28 |trucRect|);..if (|
|00001fe0| 21 48 61 73 43 6f 6c 6f | 72 51 44 28 29 29 20 7b |!HasColo|rQD()) {|
|00001ff0| 0d 09 09 2a 73 63 72 65 | 65 6e 52 65 63 74 20 3d |...*scre|enRect =|
|00002000| 20 71 64 2e 73 63 72 65 | 65 6e 42 69 74 73 2e 62 | qd.scre|enBits.b|
|00002010| 6f 75 6e 64 73 3b 0d 09 | 09 2a 6d 61 69 6e 53 63 |ounds;..|.*mainSc|
|00002020| 72 65 65 6e 20 3d 20 74 | 72 75 65 3b 0d 09 09 67 |reen = t|rue;...g|
|00002030| 6f 74 6f 20 65 78 69 74 | 3b 0d 09 7d 0d 09 75 64 |oto exit|;..}..ud|
|00002040| 2e 6d 61 69 6e 44 65 76 | 69 63 65 20 3d 20 47 65 |.mainDev|ice = Ge|
|00002050| 74 4d 61 69 6e 44 65 76 | 69 63 65 28 29 3b 0d 09 |tMainDev|ice();..|
|00002060| 75 64 2e 6d 61 78 44 65 | 76 69 63 65 20 3d 20 75 |ud.maxDe|vice = u|
|00002070| 64 2e 6d 61 69 6e 44 65 | 76 69 63 65 3b 0d 09 75 |d.mainDe|vice;..u|
|00002080| 64 2e 6d 61 78 41 72 65 | 61 20 3d 20 30 3b 0d 09 |d.maxAre|a = 0;..|
|00002090| 72 67 6e 20 3d 20 4e 65 | 77 52 67 6e 28 29 3b 0d |rgn = Ne|wRgn();.|
|000020a0| 09 53 65 63 74 52 67 6e | 28 47 65 74 47 72 61 79 |.SectRgn|(GetGray|
|000020b0| 52 67 6e 28 29 2c 20 28 | 28 57 69 6e 64 6f 77 50 |Rgn(), (|(WindowP|
|000020c0| 65 65 6b 29 77 69 6e 64 | 29 2d 3e 63 6f 6e 74 52 |eek)wind|)->contR|
|000020d0| 67 6e 2c 20 72 67 6e 29 | 3b 0d 09 69 66 20 28 45 |gn, rgn)|;..if (E|
|000020e0| 6d 70 74 79 52 67 6e 28 | 72 67 6e 29 29 20 7b 0d |mptyRgn(|rgn)) {.|
|000020f0| 09 09 75 64 2e 77 69 6e | 64 42 6f 75 6e 64 73 20 |..ud.win|dBounds |
|00002100| 3d 20 73 74 72 75 63 52 | 65 63 74 3b 0d 09 7d 20 |= strucR|ect;..} |
|00002110| 65 6c 73 65 20 7b 0d 09 | 09 75 64 2e 77 69 6e 64 |else {..|.ud.wind|
|00002120| 42 6f 75 6e 64 73 20 3d | 20 63 6f 6e 74 52 65 63 |Bounds =| contRec|
|00002130| 74 3b 0d 09 7d 0d 09 64 | 65 76 69 63 65 4c 6f 6f |t;..}..d|eviceLoo|
|00002140| 70 52 65 63 74 20 3d 20 | 75 64 2e 77 69 6e 64 42 |pRect = |ud.windB|
|00002150| 6f 75 6e 64 73 3b 0d 09 | 47 6c 6f 62 61 6c 54 6f |ounds;..|GlobalTo|
|00002160| 4c 6f 63 61 6c 52 65 63 | 74 28 26 64 65 76 69 63 |LocalRec|t(&devic|
|00002170| 65 4c 6f 6f 70 52 65 63 | 74 29 3b 0d 09 52 65 63 |eLoopRec|t);..Rec|
|00002180| 74 52 67 6e 28 72 67 6e | 2c 20 26 64 65 76 69 63 |tRgn(rgn|, &devic|
|00002190| 65 4c 6f 6f 70 52 65 63 | 74 29 3b 0d 09 44 65 76 |eLoopRec|t);..Dev|
|000021a0| 69 63 65 4c 6f 6f 70 28 | 72 67 6e 2c 20 75 70 70 |iceLoop(|rgn, upp|
|000021b0| 2c 20 28 6c 6f 6e 67 29 | 26 75 64 2c 20 73 69 6e |, (long)|&ud, sin|
|000021c0| 67 6c 65 44 65 76 69 63 | 65 73 29 3b 0d 09 44 69 |gleDevic|es);..Di|
|000021d0| 73 70 6f 73 65 52 67 6e | 28 72 67 6e 29 3b 0d 09 |sposeRgn|(rgn);..|
|000021e0| 2a 73 63 72 65 65 6e 52 | 65 63 74 20 3d 20 28 2a |*screenR|ect = (*|
|000021f0| 2a 75 64 2e 6d 61 78 44 | 65 76 69 63 65 29 2e 67 |*ud.maxD|evice).g|
|00002200| 64 52 65 63 74 3b 0d 09 | 2a 6d 61 69 6e 53 63 72 |dRect;..|*mainScr|
|00002210| 65 65 6e 20 3d 20 75 64 | 2e 6d 61 78 44 65 76 69 |een = ud|.maxDevi|
|00002220| 63 65 20 3d 3d 20 75 64 | 2e 6d 61 69 6e 44 65 76 |ce == ud|.mainDev|
|00002230| 69 63 65 3b 0d 09 0d 65 | 78 69 74 3a 0d 0d 09 69 |ice;...e|xit:...i|
|00002240| 66 20 28 2a 6d 61 69 6e | 53 63 72 65 65 6e 29 20 |f (*main|Screen) |
|00002250| 73 74 72 75 63 52 65 63 | 74 2e 74 6f 70 20 2d 3d |strucRec|t.top -=|
|00002260| 20 47 65 74 4d 42 61 72 | 48 65 69 67 68 74 28 29 | GetMBar|Height()|
|00002270| 3b 0d 09 2a 6f 6e 4f 6e | 65 53 63 72 65 65 6e 20 |;..*onOn|eScreen |
|00002280| 3d 20 73 74 72 75 63 52 | 65 63 74 2e 74 6f 70 20 |= strucR|ect.top |
|00002290| 3e 3d 20 73 63 72 65 65 | 6e 52 65 63 74 2d 3e 74 |>= scree|nRect->t|
|000022a0| 6f 70 20 26 26 20 0d 09 | 09 73 74 72 75 63 52 65 |op && ..|.strucRe|
|000022b0| 63 74 2e 62 6f 74 74 6f | 6d 20 3c 3d 20 73 63 72 |ct.botto|m <= scr|
|000022c0| 65 65 6e 52 65 63 74 2d | 3e 62 6f 74 74 6f 6d 20 |eenRect-|>bottom |
|000022d0| 26 26 0d 09 09 73 74 72 | 75 63 52 65 63 74 2e 6c |&&...str|ucRect.l|
|000022e0| 65 66 74 20 3e 3d 20 73 | 63 72 65 65 6e 52 65 63 |eft >= s|creenRec|
|000022f0| 74 2d 3e 6c 65 66 74 20 | 26 26 0d 09 09 73 74 72 |t->left |&&...str|
|00002300| 75 63 52 65 63 74 2e 72 | 69 67 68 74 20 3c 3d 20 |ucRect.r|ight <= |
|00002310| 73 63 72 65 65 6e 52 65 | 63 74 2d 3e 72 69 67 68 |screenRe|ct->righ|
|00002320| 74 3b 0d 09 53 65 74 50 | 6f 72 74 28 70 6f 72 74 |t;..SetP|ort(port|
|00002330| 29 3b 0d 7d 0d 0d 0d 0d | 2f 2a 2d 2d 2d 2d 2d 2d |);.}....|/*------|
|00002340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002380| 2d 2d 2d 2d 2d 2d 0d 09 | 57 69 6e 64 4f 6e 53 63 |------..|WindOnSc|
|00002390| 72 65 65 6e 0d 09 0d 09 | 43 68 65 63 6b 20 74 6f |reen....|Check to|
|000023a0| 20 73 65 65 20 69 66 20 | 61 20 77 69 6e 64 6f 77 | see if |a window|
|000023b0| 20 69 73 20 63 6f 6d 70 | 6c 65 74 65 6c 79 20 77 | is comp|letely w|
|000023c0| 69 74 68 69 6e 20 61 20 | 73 69 6e 67 6c 65 20 73 |ithin a |single s|
|000023d0| 63 72 65 65 6e 2e 0d 09 | 0d 09 45 6e 74 72 79 3a |creen...|..Entry:|
|000023e0| 09 77 69 6e 64 20 3d 20 | 70 6f 69 6e 74 65 72 20 |.wind = |pointer |
|000023f0| 74 6f 20 77 69 6e 64 6f | 77 2e 0d 09 0d 09 45 78 |to windo|w.....Ex|
|00002400| 69 74 3a 09 66 75 6e 63 | 74 69 6f 6e 20 72 65 73 |it:.func|tion res|
|00002410| 75 6c 74 20 3d 20 74 72 | 75 65 20 69 66 20 77 69 |ult = tr|ue if wi|
|00002420| 6e 64 6f 77 20 69 73 20 | 63 6f 6d 70 6c 65 74 65 |ndow is |complete|
|00002430| 6c 79 20 77 69 74 68 69 | 6e 20 61 0d 09 09 09 09 |ly withi|n a.....|
|00002440| 73 69 6e 67 6c 65 20 73 | 63 72 65 65 6e 2e 0d 2d |single s|creen..-|
|00002450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 0d 42 |--------|---*/..B|
|000024a0| 6f 6f 6c 65 61 6e 20 57 | 69 6e 64 4f 6e 53 63 72 |oolean W|indOnScr|
|000024b0| 65 65 6e 20 28 57 69 6e | 64 6f 77 50 74 72 20 77 |een (Win|dowPtr w|
|000024c0| 69 6e 64 29 0d 7b 0d 09 | 52 65 63 74 20 73 63 72 |ind).{..|Rect scr|
|000024d0| 65 65 6e 52 65 63 74 3b | 0d 09 42 6f 6f 6c 65 61 |eenRect;|..Boolea|
|000024e0| 6e 20 6d 61 69 6e 53 63 | 72 65 65 6e 2c 20 6f 6e |n mainSc|reen, on|
|000024f0| 4f 6e 65 53 63 72 65 65 | 6e 3b 0d 09 0d 09 47 65 |OneScree|n;....Ge|
|00002500| 74 44 6f 6d 69 6e 61 6e | 74 53 63 72 65 65 6e 28 |tDominan|tScreen(|
|00002510| 77 69 6e 64 2c 20 26 73 | 63 72 65 65 6e 52 65 63 |wind, &s|creenRec|
|00002520| 74 2c 20 26 6d 61 69 6e | 53 63 72 65 65 6e 2c 20 |t, &main|Screen, |
|00002530| 26 6f 6e 4f 6e 65 53 63 | 72 65 65 6e 29 3b 0d 09 |&onOneSc|reen);..|
|00002540| 72 65 74 75 72 6e 20 6f | 6e 4f 6e 65 53 63 72 65 |return o|nOneScre|
|00002550| 65 6e 3b 0d 7d 0d 0d 0d | 0d 2f 2a 2d 2d 2d 2d 2d |en;.}...|./*-----|
|00002560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025a0| 2d 2d 2d 2d 2d 2d 2d 0d | 09 53 74 61 67 67 65 72 |-------.|.Stagger|
|000025b0| 57 69 6e 64 6f 77 0d 09 | 0d 09 53 74 61 67 67 65 |Window..|..Stagge|
|000025c0| 72 20 61 20 6e 65 77 20 | 77 69 6e 64 6f 77 2e 0d |r a new |window..|
|000025d0| 09 0d 09 45 6e 74 72 79 | 3a 09 77 69 6e 64 20 3d |...Entry|:.wind =|
|000025e0| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 77 69 6e 64 | pointer| to wind|
|000025f0| 6f 77 2e 0d 09 09 09 77 | 69 64 74 68 20 3d 20 77 |ow.....w|idth = w|
|00002600| 69 6e 64 6f 77 20 77 69 | 64 74 68 2e 0d 09 09 09 |indow wi|dth.....|
|00002610| 68 65 69 67 68 74 20 3d | 20 77 69 6e 64 6f 77 20 |height =| window |
|00002620| 68 65 69 67 68 74 2e 0d | 09 09 09 6f 66 66 73 65 |height..|...offse|
|00002630| 74 46 72 6f 6d 20 3d 20 | 70 6f 69 6e 74 65 72 20 |tFrom = |pointer |
|00002640| 74 6f 20 77 69 6e 64 6f | 77 20 66 72 6f 6d 20 77 |to windo|w from w|
|00002650| 68 69 63 68 20 74 68 69 | 73 20 77 69 6e 64 6f 77 |hich thi|s window|
|00002660| 20 73 68 6f 75 6c 64 20 | 62 65 0d 09 09 09 09 6f | should |be.....o|
|00002670| 66 66 73 65 74 2c 20 6f | 72 20 6e 69 6c 20 69 66 |ffset, o|r nil if|
|00002680| 20 6e 6f 6e 65 2e 0d 09 | 09 09 64 6f 6e 74 43 6f | none...|..dontCo|
|00002690| 76 65 72 46 69 6e 64 65 | 72 49 63 6f 6e 73 20 3d |verFinde|rIcons =|
|000026a0| 20 74 72 75 65 20 74 6f | 20 61 76 6f 69 64 20 63 | true to| avoid c|
|000026b0| 6f 76 65 72 69 6e 67 20 | 75 70 20 46 69 6e 64 65 |overing |up Finde|
|000026c0| 72 20 69 63 6f 6e 73 2e | 0d 2d 2d 2d 2d 2d 2d 2d |r icons.|.-------|
|000026d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002710| 2d 2d 2d 2d 2d 2a 2f 0d | 0d 76 6f 69 64 20 53 74 |-----*/.|.void St|
|00002720| 61 67 67 65 72 57 69 6e | 64 6f 77 20 28 57 69 6e |aggerWin|dow (Win|
|00002730| 64 6f 77 50 74 72 20 77 | 69 6e 64 2c 20 73 68 6f |dowPtr w|ind, sho|
|00002740| 72 74 20 77 69 64 74 68 | 2c 20 73 68 6f 72 74 20 |rt width|, short |
|00002750| 68 65 69 67 68 74 2c 20 | 57 69 6e 64 6f 77 50 74 |height, |WindowPt|
|00002760| 72 20 6f 66 66 73 65 74 | 46 72 6f 6d 2c 0d 09 42 |r offset|From,..B|
|00002770| 6f 6f 6c 65 61 6e 20 64 | 6f 6e 74 43 6f 76 65 72 |oolean d|ontCover|
|00002780| 46 69 6e 64 65 72 49 63 | 6f 6e 73 29 0d 7b 0d 09 |FinderIc|ons).{..|
|00002790| 52 65 63 74 20 73 63 72 | 65 65 6e 52 65 63 74 2c |Rect scr|eenRect,|
|000027a0| 20 72 2c 20 63 6f 6e 74 | 52 65 63 74 2c 20 73 74 | r, cont|Rect, st|
|000027b0| 72 75 63 52 65 63 74 3b | 0d 09 57 53 74 61 74 65 |rucRect;|..WState|
|000027c0| 44 61 74 61 20 2a 2a 77 | 53 74 61 74 65 3b 0d 09 |Data **w|State;..|
|000027d0| 47 72 61 66 50 74 72 20 | 70 6f 72 74 3b 0d 09 42 |GrafPtr |port;..B|
|000027e0| 6f 6f 6c 65 61 6e 20 6d | 61 69 6e 53 63 72 65 65 |oolean m|ainScree|
|000027f0| 6e 2c 20 6f 6e 4f 6e 65 | 53 63 72 65 65 6e 2c 20 |n, onOne|Screen, |
|00002800| 74 6f 70 4c 65 66 74 20 | 3d 20 66 61 6c 73 65 3b |topLeft |= false;|
|00002810| 0d 0d 09 47 65 74 50 6f | 72 74 28 26 70 6f 72 74 |...GetPo|rt(&port|
|00002820| 29 3b 0d 09 53 65 74 50 | 6f 72 74 28 77 69 6e 64 |);..SetP|ort(wind|
|00002830| 29 3b 0d 09 53 69 7a 65 | 57 69 6e 64 6f 77 28 77 |);..Size|Window(w|
|00002840| 69 6e 64 2c 20 77 69 64 | 74 68 2c 20 68 65 69 67 |ind, wid|th, heig|
|00002850| 68 74 2c 20 66 61 6c 73 | 65 29 3b 0d 09 47 65 74 |ht, fals|e);..Get|
|00002860| 57 69 6e 64 52 65 67 69 | 6f 6e 52 65 63 74 73 28 |WindRegi|onRects(|
|00002870| 77 69 6e 64 2c 20 26 63 | 6f 6e 74 52 65 63 74 2c |wind, &c|ontRect,|
|00002880| 20 26 73 74 72 75 63 52 | 65 63 74 29 3b 0d 09 47 | &strucR|ect);..G|
|00002890| 65 74 44 6f 6d 69 6e 61 | 6e 74 53 63 72 65 65 6e |etDomina|ntScreen|
|000028a0| 28 6f 66 66 73 65 74 46 | 72 6f 6d 2c 20 26 73 63 |(offsetF|rom, &sc|
|000028b0| 72 65 65 6e 52 65 63 74 | 2c 20 26 6d 61 69 6e 53 |reenRect|, &mainS|
|000028c0| 63 72 65 65 6e 2c 20 26 | 6f 6e 4f 6e 65 53 63 72 |creen, &|onOneScr|
|000028d0| 65 65 6e 29 3b 0d 09 69 | 66 20 28 6d 61 69 6e 53 |een);..i|f (mainS|
|000028e0| 63 72 65 65 6e 29 20 7b | 0d 09 09 73 63 72 65 65 |creen) {|...scree|
|000028f0| 6e 52 65 63 74 2e 74 6f | 70 20 2b 3d 20 47 65 74 |nRect.to|p += Get|
|00002900| 4d 42 61 72 48 65 69 67 | 68 74 28 29 3b 0d 09 7d |MBarHeig|ht();..}|
|00002910| 0d 09 69 66 20 28 6f 66 | 66 73 65 74 46 72 6f 6d |..if (of|fsetFrom|
|00002920| 20 3d 3d 20 6e 69 6c 29 | 20 7b 0d 09 09 74 6f 70 | == nil)| {...top|
|00002930| 4c 65 66 74 20 3d 20 74 | 72 75 65 3b 0d 09 7d 20 |Left = t|rue;..} |
|00002940| 65 6c 73 65 20 7b 0d 09 | 09 72 20 3d 20 6f 66 66 |else {..|.r = off|
|00002950| 73 65 74 46 72 6f 6d 2d | 3e 70 6f 72 74 52 65 63 |setFrom-|>portRec|
|00002960| 74 3b 0d 09 09 53 65 74 | 50 6f 72 74 28 6f 66 66 |t;...Set|Port(off|
|00002970| 73 65 74 46 72 6f 6d 29 | 3b 0d 09 09 4c 6f 63 61 |setFrom)|;...Loca|
|00002980| 6c 54 6f 47 6c 6f 62 61 | 6c 52 65 63 74 28 26 72 |lToGloba|lRect(&r|
|00002990| 29 3b 0d 09 09 53 65 74 | 50 6f 72 74 28 77 69 6e |);...Set|Port(win|
|000029a0| 64 29 3b 0d 09 09 4d 6f | 76 65 57 69 6e 64 6f 77 |d);...Mo|veWindow|
|000029b0| 28 77 69 6e 64 2c 20 72 | 2e 6c 65 66 74 20 2b 20 |(wind, r|.left + |
|000029c0| 32 30 2c 20 72 2e 74 6f | 70 20 2b 20 32 30 2c 20 |20, r.to|p + 20, |
|000029d0| 66 61 6c 73 65 29 3b 0d | 09 09 69 66 20 28 21 57 |false);.|..if (!W|
|000029e0| 69 6e 64 4f 6e 53 63 72 | 65 65 6e 28 77 69 6e 64 |indOnScr|een(wind|
|000029f0| 29 29 20 7b 0d 09 09 09 | 74 6f 70 4c 65 66 74 20 |)) {....|topLeft |
|00002a00| 3d 20 74 72 75 65 3b 0d | 09 09 7d 20 65 6c 73 65 |= true;.|..} else|
|00002a10| 20 69 66 20 28 64 6f 6e | 74 43 6f 76 65 72 46 69 | if (don|tCoverFi|
|00002a20| 6e 64 65 72 49 63 6f 6e | 73 20 26 26 20 6d 61 69 |nderIcon|s && mai|
|00002a30| 6e 53 63 72 65 65 6e 20 | 26 26 20 0d 09 09 09 73 |nScreen |&& ....s|
|00002a40| 63 72 65 65 6e 52 65 63 | 74 2e 72 69 67 68 74 20 |creenRec|t.right |
|00002a50| 2d 20 73 63 72 65 65 6e | 52 65 63 74 2e 6c 65 66 |- screen|Rect.lef|
|00002a60| 74 20 3e 20 35 37 36 29 | 20 0d 09 09 7b 0d 09 09 |t > 576)| ...{...|
|00002a70| 09 72 20 3d 20 77 69 6e | 64 2d 3e 70 6f 72 74 52 |.r = win|d->portR|
|00002a80| 65 63 74 3b 0d 09 09 09 | 4c 6f 63 61 6c 54 6f 47 |ect;....|LocalToG|
|00002a90| 6c 6f 62 61 6c 52 65 63 | 74 28 26 72 29 3b 0d 09 |lobalRec|t(&r);..|
|00002aa0| 09 09 69 66 20 28 72 2e | 72 69 67 68 74 20 2b 20 |..if (r.|right + |
|00002ab0| 36 34 20 3e 20 73 63 72 | 65 65 6e 52 65 63 74 2e |64 > scr|eenRect.|
|00002ac0| 72 69 67 68 74 29 20 74 | 6f 70 4c 65 66 74 20 3d |right) t|opLeft =|
|00002ad0| 20 74 72 75 65 3b 0d 09 | 09 7d 0d 09 7d 0d 09 69 | true;..|.}..}..i|
|00002ae0| 66 20 28 74 6f 70 4c 65 | 66 74 29 20 7b 0d 09 09 |f (topLe|ft) {...|
|00002af0| 4d 6f 76 65 57 69 6e 64 | 6f 77 28 77 69 6e 64 2c |MoveWind|ow(wind,|
|00002b00| 0d 09 09 09 73 63 72 65 | 65 6e 52 65 63 74 2e 6c |....scre|enRect.l|
|00002b10| 65 66 74 20 2b 20 63 6f | 6e 74 52 65 63 74 2e 6c |eft + co|ntRect.l|
|00002b20| 65 66 74 20 2d 20 73 74 | 72 75 63 52 65 63 74 2e |eft - st|rucRect.|
|00002b30| 6c 65 66 74 20 2b 20 34 | 2c 0d 09 09 09 73 63 72 |left + 4|,....scr|
|00002b40| 65 65 6e 52 65 63 74 2e | 74 6f 70 20 2b 20 63 6f |eenRect.|top + co|
|00002b50| 6e 74 52 65 63 74 2e 74 | 6f 70 20 2d 20 73 74 72 |ntRect.t|op - str|
|00002b60| 75 63 52 65 63 74 2e 74 | 6f 70 20 2b 20 34 2c 0d |ucRect.t|op + 4,.|
|00002b70| 09 09 09 66 61 6c 73 65 | 29 3b 0d 09 7d 0d 09 0d |...false|);..}...|
|00002b80| 09 77 53 74 61 74 65 20 | 3d 20 28 57 53 74 61 74 |.wState |= (WStat|
|00002b90| 65 44 61 74 61 2a 2a 29 | 28 28 57 69 6e 64 6f 77 |eData**)|((Window|
|00002ba0| 50 65 65 6b 29 77 69 6e | 64 29 2d 3e 64 61 74 61 |Peek)win|d)->data|
|00002bb0| 48 61 6e 64 6c 65 3b 0d | 09 72 20 3d 20 77 69 6e |Handle;.|.r = win|
|00002bc0| 64 2d 3e 70 6f 72 74 52 | 65 63 74 3b 0d 09 4c 6f |d->portR|ect;..Lo|
|00002bd0| 63 61 6c 54 6f 47 6c 6f | 62 61 6c 52 65 63 74 28 |calToGlo|balRect(|
|00002be0| 26 72 29 3b 0d 09 28 2a | 2a 77 53 74 61 74 65 29 |&r);..(*|*wState)|
|00002bf0| 2e 75 73 65 72 53 74 61 | 74 65 20 3d 20 72 3b 0d |.userSta|te = r;.|
|00002c00| 09 53 65 74 50 6f 72 74 | 28 70 6f 72 74 29 3b 0d |.SetPort|(port);.|
|00002c10| 7d 0d 0d 0d 0d 2f 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..../*-|--------|
|00002c20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c60| 2d 2d 2d 0d 09 43 61 6c | 63 75 6c 61 74 65 5a 6f |---..Cal|culateZo|
|00002c70| 6f 6d 52 65 63 74 0d 09 | 0d 09 43 61 6c 63 75 6c |omRect..|..Calcul|
|00002c80| 61 74 65 20 74 68 65 20 | 7a 6f 6f 6d 65 64 20 72 |ate the |zoomed r|
|00002c90| 65 63 74 61 6e 67 6c 65 | 20 66 6f 72 20 61 20 77 |ectangle| for a w|
|00002ca0| 69 6e 64 6f 77 2e 0d 09 | 0d 09 45 6e 74 72 79 3a |indow...|..Entry:|
|00002cb0| 09 77 69 6e 64 20 3d 20 | 70 6f 69 6e 74 65 72 20 |.wind = |pointer |
|00002cc0| 74 6f 20 77 69 6e 64 6f | 77 2e 0d 09 09 09 77 69 |to windo|w.....wi|
|00002cd0| 64 74 68 20 3d 20 64 65 | 73 69 72 65 64 20 77 69 |dth = de|sired wi|
|00002ce0| 64 74 68 20 6f 66 20 7a | 6f 6f 6d 65 64 20 77 69 |dth of z|oomed wi|
|00002cf0| 6e 64 6f 77 20 69 66 20 | 69 6e 66 69 6e 69 74 65 |ndow if |infinite|
|00002d00| 20 73 63 72 65 65 6e 2e | 0d 09 09 09 68 65 69 67 | screen.|....heig|
|00002d10| 68 74 20 3d 20 64 65 73 | 69 72 65 64 20 68 65 69 |ht = des|ired hei|
|00002d20| 67 68 74 20 6f 66 20 7a | 6f 6f 6d 65 64 20 77 69 |ght of z|oomed wi|
|00002d30| 6e 64 6f 77 20 69 66 20 | 69 6e 66 69 6e 69 74 65 |ndow if |infinite|
|00002d40| 20 73 63 72 65 65 6e 2e | 0d 09 09 09 64 6f 6e 74 | screen.|....dont|
|00002d50| 43 6f 76 65 72 46 69 6e | 64 65 72 49 63 6f 6e 73 |CoverFin|derIcons|
|00002d60| 20 3d 20 74 72 75 65 20 | 74 6f 20 61 76 6f 69 64 | = true |to avoid|
|00002d70| 20 63 6f 76 65 72 69 6e | 67 20 75 70 20 46 69 6e | coverin|g up Fin|
|00002d80| 64 65 72 20 69 63 6f 6e | 73 2e 0d 09 0d 09 45 78 |der icon|s.....Ex|
|00002d90| 69 74 3a 09 2a 7a 6f 6f | 6d 52 65 63 74 20 3d 20 |it:.*zoo|mRect = |
|00002da0| 7a 6f 6f 6d 65 64 20 72 | 65 63 74 61 6e 67 6c 65 |zoomed r|ectangle|
|00002db0| 20 66 6f 72 20 74 68 65 | 20 77 69 6e 64 6f 77 2e | for the| window.|
|00002dc0| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|00002dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00002e10| 0d 76 6f 69 64 20 43 61 | 6c 63 75 6c 61 74 65 5a |.void Ca|lculateZ|
|00002e20| 6f 6f 6d 52 65 63 74 20 | 28 57 69 6e 64 6f 77 50 |oomRect |(WindowP|
|00002e30| 74 72 20 77 69 6e 64 2c | 20 73 68 6f 72 74 20 77 |tr wind,| short w|
|00002e40| 69 64 74 68 2c 20 73 68 | 6f 72 74 20 68 65 69 67 |idth, sh|ort heig|
|00002e50| 68 74 2c 20 0d 09 52 65 | 63 74 20 2a 7a 6f 6f 6d |ht, ..Re|ct *zoom|
|00002e60| 52 65 63 74 2c 20 42 6f | 6f 6c 65 61 6e 20 64 6f |Rect, Bo|olean do|
|00002e70| 6e 74 43 6f 76 65 72 46 | 69 6e 64 65 72 49 63 6f |ntCoverF|inderIco|
|00002e80| 6e 73 29 0d 7b 0d 09 52 | 65 63 74 20 77 69 6e 64 |ns).{..R|ect wind|
|00002e90| 52 65 63 74 2c 20 73 63 | 72 65 65 6e 52 65 63 74 |Rect, sc|reenRect|
|00002ea0| 2c 20 63 6f 6e 74 52 65 | 63 74 2c 20 73 74 72 75 |, contRe|ct, stru|
|00002eb0| 63 52 65 63 74 3b 0d 09 | 73 68 6f 72 74 20 6c 65 |cRect;..|short le|
|00002ec0| 66 74 44 69 66 66 2c 20 | 74 6f 70 44 69 66 66 2c |ftDiff, |topDiff,|
|00002ed0| 20 72 69 67 68 74 44 69 | 66 66 2c 20 62 6f 74 74 | rightDi|ff, bott|
|00002ee0| 6f 6d 44 69 66 66 3b 0d | 09 73 68 6f 72 74 20 73 |omDiff;.|.short s|
|00002ef0| 63 72 65 65 6e 57 69 64 | 74 68 2c 20 73 63 72 65 |creenWid|th, scre|
|00002f00| 65 6e 48 65 69 67 68 74 | 3b 0d 09 42 6f 6f 6c 65 |enHeight|;..Boole|
|00002f10| 61 6e 20 6d 61 69 6e 53 | 63 72 65 65 6e 2c 20 6f |an mainS|creen, o|
|00002f20| 6e 4f 6e 65 53 63 72 65 | 65 6e 3b 0d 0d 09 47 65 |nOneScre|en;...Ge|
|00002f30| 74 44 6f 6d 69 6e 61 6e | 74 53 63 72 65 65 6e 28 |tDominan|tScreen(|
|00002f40| 77 69 6e 64 2c 20 26 73 | 63 72 65 65 6e 52 65 63 |wind, &s|creenRec|
|00002f50| 74 2c 20 26 6d 61 69 6e | 53 63 72 65 65 6e 2c 20 |t, &main|Screen, |
|00002f60| 26 6f 6e 4f 6e 65 53 63 | 72 65 65 6e 29 3b 0d 09 |&onOneSc|reen);..|
|00002f70| 47 65 74 57 69 6e 64 52 | 65 67 69 6f 6e 52 65 63 |GetWindR|egionRec|
|00002f80| 74 73 28 77 69 6e 64 2c | 20 26 63 6f 6e 74 52 65 |ts(wind,| &contRe|
|00002f90| 63 74 2c 20 26 73 74 72 | 75 63 52 65 63 74 29 3b |ct, &str|ucRect);|
|00002fa0| 0d 09 6c 65 66 74 44 69 | 66 66 20 3d 20 63 6f 6e |..leftDi|ff = con|
|00002fb0| 74 52 65 63 74 2e 6c 65 | 66 74 20 2d 20 73 74 72 |tRect.le|ft - str|
|00002fc0| 75 63 52 65 63 74 2e 6c | 65 66 74 3b 0d 09 74 6f |ucRect.l|eft;..to|
|00002fd0| 70 44 69 66 66 20 3d 20 | 63 6f 6e 74 52 65 63 74 |pDiff = |contRect|
|00002fe0| 2e 74 6f 70 20 2d 20 73 | 74 72 75 63 52 65 63 74 |.top - s|trucRect|
|00002ff0| 2e 74 6f 70 3b 0d 09 72 | 69 67 68 74 44 69 66 66 |.top;..r|ightDiff|
|00003000| 20 3d 20 73 74 72 75 63 | 52 65 63 74 2e 72 69 67 | = struc|Rect.rig|
|00003010| 68 74 20 2d 20 63 6f 6e | 74 52 65 63 74 2e 72 69 |ht - con|tRect.ri|
|00003020| 67 68 74 3b 0d 09 62 6f | 74 74 6f 6d 44 69 66 66 |ght;..bo|ttomDiff|
|00003030| 20 3d 20 73 74 72 75 63 | 52 65 63 74 2e 62 6f 74 | = struc|Rect.bot|
|00003040| 74 6f 6d 20 2d 20 63 6f | 6e 74 52 65 63 74 2e 62 |tom - co|ntRect.b|
|00003050| 6f 74 74 6f 6d 3b 0d 09 | 0d 09 69 66 20 28 6d 61 |ottom;..|..if (ma|
|00003060| 69 6e 53 63 72 65 65 6e | 29 20 7b 0d 09 09 73 63 |inScreen|) {...sc|
|00003070| 72 65 65 6e 52 65 63 74 | 2e 74 6f 70 20 2b 3d 20 |reenRect|.top += |
|00003080| 47 65 74 4d 42 61 72 48 | 65 69 67 68 74 28 29 3b |GetMBarH|eight();|
|00003090| 0d 09 09 69 66 20 28 64 | 6f 6e 74 43 6f 76 65 72 |...if (d|ontCover|
|000030a0| 46 69 6e 64 65 72 49 63 | 6f 6e 73 20 26 26 20 73 |FinderIc|ons && s|
|000030b0| 63 72 65 65 6e 52 65 63 | 74 2e 72 69 67 68 74 20 |creenRec|t.right |
|000030c0| 2d 20 73 63 72 65 65 6e | 52 65 63 74 2e 6c 65 66 |- screen|Rect.lef|
|000030d0| 74 20 3e 20 35 37 36 29 | 20 0d 09 09 09 73 63 72 |t > 576)| ....scr|
|000030e0| 65 65 6e 52 65 63 74 2e | 72 69 67 68 74 20 2d 3d |eenRect.|right -=|
|000030f0| 20 36 34 3b 0d 09 7d 0d | 09 49 6e 73 65 74 52 65 | 64;..}.|.InsetRe|
|00003100| 63 74 28 26 73 63 72 65 | 65 6e 52 65 63 74 2c 20 |ct(&scre|enRect, |
|00003110| 34 2c 20 34 29 3b 0d 09 | 0d 09 77 69 64 74 68 20 |4, 4);..|..width |
|00003120| 2b 3d 20 6c 65 66 74 44 | 69 66 66 20 2b 20 72 69 |+= leftD|iff + ri|
|00003130| 67 68 74 44 69 66 66 3b | 0d 09 69 66 20 28 68 65 |ghtDiff;|..if (he|
|00003140| 69 67 68 74 20 3c 20 30 | 78 37 30 30 30 29 20 68 |ight < 0|x7000) h|
|00003150| 65 69 67 68 74 20 2b 3d | 20 74 6f 70 44 69 66 66 |eight +=| topDiff|
|00003160| 20 2b 20 62 6f 74 74 6f | 6d 44 69 66 66 3b 0d 09 | + botto|mDiff;..|
|00003170| 73 63 72 65 65 6e 57 69 | 64 74 68 20 3d 20 73 63 |screenWi|dth = sc|
|00003180| 72 65 65 6e 52 65 63 74 | 2e 72 69 67 68 74 20 2d |reenRect|.right -|
|00003190| 20 73 63 72 65 65 6e 52 | 65 63 74 2e 6c 65 66 74 | screenR|ect.left|
|000031a0| 3b 0d 09 73 63 72 65 65 | 6e 48 65 69 67 68 74 20 |;..scree|nHeight |
|000031b0| 3d 20 73 63 72 65 65 6e | 52 65 63 74 2e 62 6f 74 |= screen|Rect.bot|
|000031c0| 74 6f 6d 20 2d 20 73 63 | 72 65 65 6e 52 65 63 74 |tom - sc|reenRect|
|000031d0| 2e 74 6f 70 3b 0d 09 69 | 66 20 28 77 69 64 74 68 |.top;..i|f (width|
|000031e0| 20 3e 20 73 63 72 65 65 | 6e 57 69 64 74 68 29 20 | > scree|nWidth) |
|000031f0| 77 69 64 74 68 20 3d 20 | 73 63 72 65 65 6e 57 69 |width = |screenWi|
|00003200| 64 74 68 3b 0d 09 69 66 | 20 28 68 65 69 67 68 74 |dth;..if| (height|
|00003210| 20 3e 20 73 63 72 65 65 | 6e 48 65 69 67 68 74 29 | > scree|nHeight)|
|00003220| 20 68 65 69 67 68 74 20 | 3d 20 73 63 72 65 65 6e | height |= screen|
|00003230| 48 65 69 67 68 74 3b 0d | 0d 09 77 69 6e 64 52 65 |Height;.|..windRe|
|00003240| 63 74 20 3d 20 77 69 6e | 64 2d 3e 70 6f 72 74 52 |ct = win|d->portR|
|00003250| 65 63 74 3b 0d 09 4c 6f | 63 61 6c 54 6f 47 6c 6f |ect;..Lo|calToGlo|
|00003260| 62 61 6c 52 65 63 74 28 | 26 77 69 6e 64 52 65 63 |balRect(|&windRec|
|00003270| 74 29 3b 0d 09 77 69 6e | 64 52 65 63 74 2e 6c 65 |t);..win|dRect.le|
|00003280| 66 74 20 2d 3d 20 6c 65 | 66 74 44 69 66 66 3b 0d |ft -= le|ftDiff;.|
|00003290| 09 77 69 6e 64 52 65 63 | 74 2e 74 6f 70 20 2d 3d |.windRec|t.top -=|
|000032a0| 20 74 6f 70 44 69 66 66 | 3b 0d 09 77 69 6e 64 52 | topDiff|;..windR|
|000032b0| 65 63 74 2e 72 69 67 68 | 74 20 3d 20 77 69 6e 64 |ect.righ|t = wind|
|000032c0| 52 65 63 74 2e 6c 65 66 | 74 20 2b 20 77 69 64 74 |Rect.lef|t + widt|
|000032d0| 68 3b 0d 09 77 69 6e 64 | 52 65 63 74 2e 62 6f 74 |h;..wind|Rect.bot|
|000032e0| 74 6f 6d 20 3d 20 77 69 | 6e 64 52 65 63 74 2e 74 |tom = wi|ndRect.t|
|000032f0| 6f 70 20 2b 20 68 65 69 | 67 68 74 3b 0d 09 0d 09 |op + hei|ght;....|
|00003300| 69 66 20 28 77 69 6e 64 | 52 65 63 74 2e 6c 65 66 |if (wind|Rect.lef|
|00003310| 74 20 3c 20 73 63 72 65 | 65 6e 52 65 63 74 2e 6c |t < scre|enRect.l|
|00003320| 65 66 74 29 0d 09 09 4f | 66 66 73 65 74 52 65 63 |eft)...O|ffsetRec|
|00003330| 74 28 26 77 69 6e 64 52 | 65 63 74 2c 20 73 63 72 |t(&windR|ect, scr|
|00003340| 65 65 6e 52 65 63 74 2e | 6c 65 66 74 20 2d 20 77 |eenRect.|left - w|
|00003350| 69 6e 64 52 65 63 74 2e | 6c 65 66 74 2c 20 30 29 |indRect.|left, 0)|
|00003360| 3b 0d 09 69 66 20 28 77 | 69 6e 64 52 65 63 74 2e |;..if (w|indRect.|
|00003370| 72 69 67 68 74 20 3e 20 | 73 63 72 65 65 6e 52 65 |right > |screenRe|
|00003380| 63 74 2e 72 69 67 68 74 | 29 20 0d 09 09 4f 66 66 |ct.right|) ...Off|
|00003390| 73 65 74 52 65 63 74 28 | 26 77 69 6e 64 52 65 63 |setRect(|&windRec|
|000033a0| 74 2c 20 73 63 72 65 65 | 6e 52 65 63 74 2e 72 69 |t, scree|nRect.ri|
|000033b0| 67 68 74 20 2d 20 77 69 | 6e 64 52 65 63 74 2e 72 |ght - wi|ndRect.r|
|000033c0| 69 67 68 74 2c 20 30 29 | 3b 0d 09 69 66 20 28 77 |ight, 0)|;..if (w|
|000033d0| 69 6e 64 52 65 63 74 2e | 74 6f 70 20 3c 20 73 63 |indRect.|top < sc|
|000033e0| 72 65 65 6e 52 65 63 74 | 2e 74 6f 70 29 0d 09 09 |reenRect|.top)...|
|000033f0| 4f 66 66 73 65 74 52 65 | 63 74 28 26 77 69 6e 64 |OffsetRe|ct(&wind|
|00003400| 52 65 63 74 2c 20 30 2c | 20 73 63 72 65 65 6e 52 |Rect, 0,| screenR|
|00003410| 65 63 74 2e 74 6f 70 20 | 2d 20 77 69 6e 64 52 65 |ect.top |- windRe|
|00003420| 63 74 2e 74 6f 70 29 3b | 0d 09 69 66 20 28 77 69 |ct.top);|..if (wi|
|00003430| 6e 64 52 65 63 74 2e 62 | 6f 74 74 6f 6d 20 3e 20 |ndRect.b|ottom > |
|00003440| 73 63 72 65 65 6e 52 65 | 63 74 2e 62 6f 74 74 6f |screenRe|ct.botto|
|00003450| 6d 29 0d 09 09 4f 66 66 | 73 65 74 52 65 63 74 28 |m)...Off|setRect(|
|00003460| 26 77 69 6e 64 52 65 63 | 74 2c 20 30 2c 20 73 63 |&windRec|t, 0, sc|
|00003470| 72 65 65 6e 52 65 63 74 | 2e 62 6f 74 74 6f 6d 20 |reenRect|.bottom |
|00003480| 2d 20 77 69 6e 64 52 65 | 63 74 2e 62 6f 74 74 6f |- windRe|ct.botto|
|00003490| 6d 29 3b 0d 09 09 0d 09 | 77 69 6e 64 52 65 63 74 |m);.....|windRect|
|000034a0| 2e 6c 65 66 74 20 2b 3d | 20 6c 65 66 74 44 69 66 |.left +=| leftDif|
|000034b0| 66 3b 0d 09 77 69 6e 64 | 52 65 63 74 2e 74 6f 70 |f;..wind|Rect.top|
|000034c0| 20 2b 3d 20 74 6f 70 44 | 69 66 66 3b 0d 09 77 69 | += topD|iff;..wi|
|000034d0| 6e 64 52 65 63 74 2e 72 | 69 67 68 74 20 2d 3d 20 |ndRect.r|ight -= |
|000034e0| 72 69 67 68 74 44 69 66 | 66 3b 0d 09 77 69 6e 64 |rightDif|f;..wind|
|000034f0| 52 65 63 74 2e 62 6f 74 | 74 6f 6d 20 2d 3d 20 62 |Rect.bot|tom -= b|
|00003500| 6f 74 74 6f 6d 44 69 66 | 66 3b 0d 09 09 0d 09 2a |ottomDif|f;.....*|
|00003510| 7a 6f 6f 6d 52 65 63 74 | 20 3d 20 77 69 6e 64 52 |zoomRect| = windR|
|00003520| 65 63 74 3b 0d 7d 0d 0d | 0d 0d 2f 2a 2d 2d 2d 2d |ect;.}..|../*----|
|00003530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003570| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 09 57 69 6e 64 52 65 |--------|..WindRe|
|00003580| 63 74 45 71 75 61 6c 52 | 65 63 74 20 0d 09 0d 09 |ctEqualR|ect ....|
|00003590| 43 68 65 63 6b 20 74 6f | 20 73 65 65 20 69 66 20 |Check to| see if |
|000035a0| 61 20 77 69 6e 64 6f 77 | 27 73 20 72 65 63 74 61 |a window|'s recta|
|000035b0| 6e 67 6c 65 20 65 71 75 | 61 6c 73 20 61 20 72 65 |ngle equ|als a re|
|000035c0| 63 74 61 6e 67 6c 65 2e | 0d 09 09 09 0d 09 45 6e |ctangle.|......En|
|000035d0| 74 72 79 3a 09 77 69 6e | 64 20 3d 20 70 6f 69 6e |try:.win|d = poin|
|000035e0| 74 65 72 20 74 6f 20 77 | 69 6e 64 6f 77 2e 0d 09 |ter to w|indow...|
|000035f0| 09 09 72 20 3d 20 70 6f | 69 6e 74 65 72 20 74 6f |..r = po|inter to|
|00003600| 20 72 65 63 74 61 6e 67 | 6c 65 20 69 6e 20 67 6c | rectang|le in gl|
|00003610| 6f 62 61 6c 20 63 6f 6f | 72 64 73 2e 0d 09 09 09 |obal coo|rds.....|
|00003620| 0d 09 45 78 69 74 3a 09 | 66 75 6e 63 74 69 6f 6e |..Exit:.|function|
|00003630| 20 72 65 73 75 6c 74 20 | 3d 20 74 72 75 65 20 69 | result |= true i|
|00003640| 66 20 77 69 6e 64 6f 77 | 27 73 20 72 65 63 74 61 |f window|'s recta|
|00003650| 6e 67 6c 65 20 69 73 20 | 65 71 75 61 6c 20 74 6f |ngle is |equal to|
|00003660| 0d 09 09 09 09 74 68 65 | 20 73 70 65 63 69 66 69 |.....the| specifi|
|00003670| 65 64 20 67 6c 6f 62 61 | 6c 20 72 65 63 74 61 6e |ed globa|l rectan|
|00003680| 67 65 2e 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ge..----|--------|
|00003690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036d0| 2a 2f 0d 0d 42 6f 6f 6c | 65 61 6e 20 57 69 6e 64 |*/..Bool|ean Wind|
|000036e0| 52 65 63 74 45 71 75 61 | 6c 52 65 63 74 20 28 57 |RectEqua|lRect (W|
|000036f0| 69 6e 64 6f 77 50 74 72 | 20 77 69 6e 64 2c 20 52 |indowPtr| wind, R|
|00003700| 65 63 74 20 2a 72 29 0d | 7b 0d 09 47 72 61 66 50 |ect *r).|{..GrafP|
|00003710| 74 72 20 70 6f 72 74 3b | 0d 09 52 65 63 74 20 77 |tr port;|..Rect w|
|00003720| 69 6e 64 52 65 63 74 3b | 0d 09 0d 09 47 65 74 50 |indRect;|....GetP|
|00003730| 6f 72 74 28 26 70 6f 72 | 74 29 3b 0d 09 77 69 6e |ort(&por|t);..win|
|00003740| 64 52 65 63 74 20 3d 20 | 77 69 6e 64 2d 3e 70 6f |dRect = |wind->po|
|00003750| 72 74 52 65 63 74 3b 0d | 09 53 65 74 50 6f 72 74 |rtRect;.|.SetPort|
|00003760| 28 77 69 6e 64 29 3b 0d | 09 4c 6f 63 61 6c 54 6f |(wind);.|.LocalTo|
|00003770| 47 6c 6f 62 61 6c 52 65 | 63 74 28 26 77 69 6e 64 |GlobalRe|ct(&wind|
|00003780| 52 65 63 74 29 3b 0d 09 | 53 65 74 50 6f 72 74 28 |Rect);..|SetPort(|
|00003790| 70 6f 72 74 29 3b 0d 09 | 72 65 74 75 72 6e 20 45 |port);..|return E|
|000037a0| 71 75 61 6c 52 65 63 74 | 28 26 77 69 6e 64 52 65 |qualRect|(&windRe|
|000037b0| 63 74 2c 20 72 29 3b 0d | 7d 0d 0d 0d 0d 2f 2a 2d |ct, r);.|}..../*-|
|000037c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 09 53 65 74 |--------|---..Set|
|00003810| 57 69 6e 64 6f 77 4e 65 | 65 64 73 5a 6f 6f 6d 69 |WindowNe|edsZoomi|
|00003820| 6e 67 20 0d 09 0d 09 53 | 65 74 20 61 20 77 69 6e |ng ....S|et a win|
|00003830| 64 6f 77 20 73 74 61 6e | 64 61 72 64 20 73 74 61 |dow stan|dard sta|
|00003840| 74 65 20 74 6f 20 28 30 | 2c 30 2c 30 2c 30 29 20 |te to (0|,0,0,0) |
|00003850| 74 6f 20 66 6f 72 63 65 | 20 61 20 7a 6f 6f 6d 20 |to force| a zoom |
|00003860| 6f 75 74 20 6f 6e 20 74 | 68 65 20 6e 65 78 74 0d |out on t|he next.|
|00003870| 09 7a 6f 6f 6d 2e 0d 09 | 09 09 0d 09 45 6e 74 72 |.zoom...|....Entr|
|00003880| 79 3a 09 77 69 6e 64 20 | 3d 20 70 6f 69 6e 74 65 |y:.wind |= pointe|
|00003890| 72 20 74 6f 20 77 69 6e | 64 6f 77 2e 0d 2d 2d 2d |r to win|dow..---|
|000038a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2f 0d 0d 76 6f 69 |--------|-*/..voi|
|000038f0| 64 20 53 65 74 57 69 6e | 64 6f 77 4e 65 65 64 73 |d SetWin|dowNeeds|
|00003900| 5a 6f 6f 6d 69 6e 67 20 | 28 57 69 6e 64 6f 77 50 |Zooming |(WindowP|
|00003910| 74 72 20 77 69 6e 64 29 | 0d 7b 0d 09 57 53 74 61 |tr wind)|.{..WSta|
|00003920| 74 65 44 61 74 61 20 2a | 2a 77 53 74 61 74 65 3b |teData *|*wState;|
|00003930| 0d 09 0d 09 77 53 74 61 | 74 65 20 3d 20 28 57 53 |....wSta|te = (WS|
|00003940| 74 61 74 65 44 61 74 61 | 2a 2a 29 28 28 57 69 6e |tateData|**)((Win|
|00003950| 64 6f 77 50 65 65 6b 29 | 77 69 6e 64 29 2d 3e 64 |dowPeek)|wind)->d|
|00003960| 61 74 61 48 61 6e 64 6c | 65 3b 0d 09 53 65 74 52 |ataHandl|e;..SetR|
|00003970| 65 63 74 28 26 28 2a 2a | 77 53 74 61 74 65 29 2e |ect(&(**|wState).|
|00003980| 73 74 64 53 74 61 74 65 | 2c 20 30 2c 20 30 2c 20 |stdState|, 0, 0, |
|00003990| 30 2c 20 30 29 3b 0d 7d | 0d 00 00 00 00 00 00 00 |0, 0);.}|........|
|000039a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000039b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000039c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000039d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000039e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000039f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003a00| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00003a10| 00 74 00 01 00 1a 00 01 | 00 00 3a 7f 47 65 74 54 |.t......|..:.GetT|
|00003a20| 45 50 61 67 65 48 65 69 | 67 68 74 00 00 01 00 12 |EPageHei|ght.....|
|00003a30| 0a 77 69 6e 64 75 74 69 | 6c 2e 63 00 02 00 00 00 |.winduti|l.c.....|
|00003a40| 54 45 58 54 4d 4d 43 43 | 01 00 01 04 01 40 00 00 |TEXTMMCC|.....@..|
|00003a50| 00 00 54 45 58 54 4d 4d | 43 43 01 00 01 04 01 40 |..TEXTMM|CC.....@|
|00003a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003a70| 00 00 aa 4f 8b b2 00 00 | 39 19 00 00 01 9a 49 84 |...O....|9.....I.|
|00003a80| 47 65 74 4f 66 66 73 65 | 74 47 69 76 65 6e 50 69 |GetOffse|tGivenPi|
|00003a90| 78 65 6c 73 46 72 6f 6d | 42 6f 6c 00 00 01 00 1a |xelsFrom|Bol.....|
|00003aa0| 00 01 00 00 4c a6 4d 79 | 47 65 74 43 6c 69 6b 53 |....L.My|GetClikS|
|00003ab0| 74 75 66 66 00 65 00 01 | 00 22 00 00 00 00 50 c1 |tuff.e..|."....P.|
|00003ac0| 4d 79 47 65 74 54 45 48 | 69 6c 69 74 65 4f 72 43 |MyGetTEH|iliteOrC|
|00003ad0| 61 72 65 74 52 67 6e 00 | 00 01 00 18 01 00 00 00 |aretRgn.|........|
|00003ae0| 56 25 73 65 6c 52 67 6e | 4f 6c 64 24 30 37 32 00 |V%selRgn|Old$072.|
|00003af0| 00 01 00 18 01 00 00 00 | 56 25 73 65 6c 52 67 6e |........|V%selRgn|
|00003b00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00003b10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003b20| 00 00 00 00 00 00 00 03 | 00 04 00 6a 00 09 01 d0 |........|...j....|
|00003b30| 02 68 00 6a 00 09 01 d0 | 02 68 ac 1f f8 1e 00 00 |.h.j....|.h......|
|00003b40| 1e b3 00 00 1e bd 00 00 | 1f ad 01 00 00 00 00 04 |........|........|
|00003b50| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00003b60| 00 00 00 46 01 c9 1c a8 | 13 d6 00 00 00 1c 00 46 |...F....|.......F|
|00003b70| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00003b80| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00003b90| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|00003ba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+